我最近在Chrome控制台日志中注意到以下消息,同时使用aloha editor:
aloha.js:14579 - 不推荐使用Selection.addRange()合并现有Range和指定Range的行为,并将于2017年4月左右在M58中删除。有关详细信息,请参阅https://www.chromestatus.com/features/6680566019653632。
在尝试寻找替代品时,除了他们要删除它之外我无法找到任何东西,所以我想知道Selection.addRange()的替代方案是什么来摆脱这个消息。
答案 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.