Javascript 如何更改用户';UIWebView中的选择范围?
以下JavaScript代码可以更改用户在UIWevView中的选择范围,但iOS选择保持不变。如何同步这两个选择,因此当应用程序使用JavaScript更改选择时,iOS选择也会更改。可能吗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
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允许更健壮的文本选择。