2012-02-15 13 views
2

次のJavaScriptコードでは、UIWevViewでユーザーの選択範囲を変更できますが、iOSの選択は変更されません。どのようにして両方の選択を同期することができるので、JavaScriptを使用して選択を変更すると、iOSの選択も変更されます。出来ますか?UIWebViewでユーザーの選択範囲を変更するにはどうすればよいですか?

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); 

答えて

1

あなたは他のブラウザにすることができますようにSelectionオブジェクトを変更することができますが、選択は私には未知の理由のために、すでに表示されている場合を除きiOSが目に見える選択を更新しません。私が知る限りこれを丸める方法はありません。

+2

もし可能でないなら、多分私はcssを使って選択を強調表示しようとします...最高の解決策ではなく、新しい選択を目に見えるものより優れています。 – walker

+0

@ user828845: 'document.execCommand()'がそれを行います。 http://stackoverflow.com/a/3224513/96100 –

+0

を参照してくださいありがとう!試してみます。ちなみに、私は選択したテキストを強調表示するために{css}を試しましたが、残念ながらMobile Safariでは機能しません:( – walker

関連する問題