Selection.addRange()已弃用,将从Chrome中删除

时间:2017-04-06 16:18:45

标签: javascript google-chrome editor deprecated aloha-editor

我最近在Chrome控制台日志中注意到以下消息,同时使用aloha editor

  

aloha.js:14579 - 不推荐使用Selection.addRange()合并现有Range和指定Range的行为,并将于2017年4月左右在M58中删除。有关详细信息,请参阅https://www.chromestatus.com/features/6680566019653632

在尝试寻找替代品时,除了他们要删除它之外我无法找到任何东西,所以我想知道Selection.addRange()的替代方案是什么来摆脱这个消息。

1 个答案:

答案 0 :(得分:21)

诀窍是在使用removeAllRanges()添加新范围之前,在您的选择中使用addRange(range)。以下是使用它选择elem的所有内容时的示例:

selection = window.getSelection();    // Save the selection.
range = document.createRange();
range.selectNodeContents(elem);
selection.removeAllRanges();          // Remove all ranges from the selection.
selection.addRange(range);            // Add the new range.