在iOS Mobile Safari和/或UIWebView中控制文本select行为?

我有一个长的HTML文件,其中包含多个段落。 当我尝试在iOS移动Safari或UIWebView中select文本时,会发生以下情况:

  1. 起初,我select的字符级别精确。 在这里输入图像说明
  2. 然后,当我select更多,精度下降到两行文字,最后到整个段落。 没有办法在我想要的地方完成我的文本select。 在这里输入图像说明

当我将CSS contentEditable属性设置为true ,我保留了字符级别的精度,但键盘也显示出来了,这当然不是我想要的。

有没有办法保留字符级别的select精度,不pipe我select的文本多长时间?

iOS 8的WKWebView可能可以解决这个问题。 WKWebViewConfiguration有一个名为selectionGranularity的属性。 评论意见如下:

用户可以在Web视图中交互式select内容的粒度级别。 WKSelectionGranularity中描述了可能的值。 默认值是WKSelectionGranularityDynamic。

两个可能的值之一是WKSelectionGranularityCharacter 。 评论说:

select端点可以放置在任何字符边界。

我还没有尝试过,但听起来很有希望!

更新7/6/15 :看起来不那么简单: WKWebView中的文本select:WKSelectionGranularityCharacter

2015年10月10日更新 :当您仔细研究iOS Kindle应用程序时,您可以看到他们已经在JavaScript中重新实现了“原生”文本select,因为他们无法使原生文本select按照他们想要的方式行事。 我很确定他们在决定重新实施之前一定试过了其他的一切。

我遇到同样的问题,

我通过一行CSS解决了这个问题:

 display: inline-block; 

两者都适用于Safari和WebView。

由于您也select文本的标题,浏览器将其识别为完整文本并select整个段落。 顺便说一下,没有办法帮助你没有看到HTML源代码!

嘿,你可以使用CSS属性不让用户select文本。 你可以使用像:

 html { user-select:none; }