Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改用户';UIWebView中的选择范围?_Javascript_Ios_Uiwebview_Selection_Range - Fatal编程技术网

Javascript 如何更改用户';UIWebView中的选择范围?

Javascript 如何更改用户';UIWebView中的选择范围?,javascript,ios,uiwebview,selection,range,Javascript,Ios,Uiwebview,Selection,Range,以下JavaScript代码可以更改用户在UIWevView中的选择范围,但iOS选择保持不变。如何同步这两个选择,因此当应用程序使用JavaScript更改选择时,iOS选择也会更改。可能吗 var sel = window.getSelection(); var range = document.createRange(); range.setStart(sel.anchorNode,sel.anchorOffset + 1); // it removes the first letter

以下JavaScript代码可以更改用户在UIWevView中的选择范围,但iOS选择保持不变。如何同步这两个选择,因此当应用程序使用JavaScript更改选择时,iOS选择也会更改。可能吗

var sel = window.getSelection();

var range = document.createRange();
range.setStart(sel.anchorNode,sel.anchorOffset + 1); // it removes the first letter from a selected range
range.setEnd(sel.focusNode,sel.focusOffset);

sel.removeAllRanges();
sel.addRange(range);

您可以像在任何其他浏览器中一样更改
选择
对象,但iOS不会更新可见选择,除非该选择已可见,原因我不知道。据我所知,没有办法解决这个问题。

如果不可能,也许我会尝试使用css突出显示选择。。。这不是最好的解决方案,但总比什么都不做要好。@user828845:
document.execCommand()
可以帮你做到这一点。看,谢谢!我试试看。顺便说一下,我尝试了::selection(css)来突出显示选定的文本,但不幸的是,它在Mobile Safari中不起作用:(将contentEditable设置为true允许更健壮的文本选择。