1
document.getSelection().addRange()
の代替手段はありますか?Selection :: addRange大型DOMで非常に遅い
div
を含むコンテンツ編集可能なフレームでは、div
秒になると遅くなります。
document.getSelection().addRange()
の代替手段はありますか?Selection :: addRange大型DOMで非常に遅い
div
を含むコンテンツ編集可能なフレームでは、div
秒になると遅くなります。
初めてremoveAllRanges
を実行していますか? MDN articleとthis SO answerは、コールが必須/推奨であるように見えます。
MDNの記事からスクリプトの例:
/* Select all STRONG elements in an HTML document */
var strongs = document.getElementsByTagName("strong");
var s = window.getSelection();
if(s.rangeCount > 0) s.removeAllRanges();
for(var i = 0; i < strongs.length; i++) {
var range = document.createRange();
range.selectNode(strongs[i]);
s.addRange(range);
}
はい。 removeAllRangesが最初に呼び出されます。また、最初のRangeオブジェクトを取得し、deleteContentsを呼び出してから、その範囲のsetStartおよびsetEndを実行しても問題ありません – user8173591