2017-04-06 90 views
8
被刪除

我注意到最近在Chrome的控制檯日誌下面的消息,同時採用aloha editorSelection.addRange()已被廢棄,則會從Chrome

aloha.js:14579 - 的行爲Selection.addRange( )合併現有範圍,指定範圍已棄用,並將於2017年4月左右在M58中刪除。有關更多詳細信息,請參閱https://www.chromestatus.com/features/6680566019653632

雖然試圖找到一個替代,我找不到另外,他們會刪除任何東西,所以我想知道什麼是Selection.addRange的替代品()擺脫這個消息的。

回答

11

訣竅是在使用addRange(range)添加新範圍之前,使用removeAllRanges()進行選擇。以下是使用它來選擇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.