JavaScript Set Window选择

Ric*_*III 16 javascript jquery window selection clear

在JavaScript中,有一种方法window.getSelection()可以让我获得用户所做的当前选择.

是否有相应的功能,window.setSelection()可以让我设置或清除当前的选择?

Tim*_*own 16

清除所有主流浏览器中的选择:

function clearSelection() {
    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
}
Run Code Online (Sandbox Code Playgroud)

选择内容需要在IE <9 中的大多数浏览器和对象中使用DOMRangeSelection对象TextRange.这是一个简单的跨浏览器示例,用于选择特定元素的内容:

function selectElement(element) {
    if (window.getSelection) {
        var sel = window.getSelection();
        sel.removeAllRanges();
        var range = document.createRange();
        range.selectNodeContents(element);
        sel.addRange(range);
    } else if (document.selection) {
        var textRange = document.body.createTextRange();
        textRange.moveToElementText(element);
        textRange.select();
    }
}
Run Code Online (Sandbox Code Playgroud)


ste*_*lin 7

也许这样做会:

window.selection.clear();
Run Code Online (Sandbox Code Playgroud)

Crossbrowser版本:

if (window.getSelection) {
   if (window.getSelection().empty) {  // Chrome
     window.getSelection().empty();
   } else if (window.getSelection().removeAllRanges) {  // Firefox
     window.getSelection().removeAllRanges();
   }
} else if (document.selection) {  // IE?
  document.selection.empty();
}
Run Code Online (Sandbox Code Playgroud)

  • 我建议你再次查看时间.无论如何,只要接受的答案是正确的,我就不会感到困扰,并且这个问题的所有正确答案看起来基本相同. (2认同)