JavaScript设置窗口选择

| 在JavaScript中,有一种方法“ 0”,它使我能够获取用户所做的当前选择。 是否有相应的功能(例如
window.setSelection()
)可以让我设置或清除当前选择?     
已邀请:
        也许这可以做到:
window.selection.clear();
跨浏览器版本:
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();
}
    
        在所有主要浏览器中清除选择:
function clearSelection() {
    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
}
选择内容要求在大多数浏览器中使用DOM
Range
Selection
对象,而在IE <9中使用
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();
    }
}
    

bab

        在支持“选择”和“范围”内容的浏览器中,您将需要创建一个范围对象,然后设置其开始/结束。 \“ range \”对象的Mozilla文档包含很多信息。 Chrome不支持此功能,至少不支持该API,我敢打赌Safari也不支持。 编辑-感谢@Tim Down指出WebKit(Chrome和Safari)确实支持此功能,这意味着我的jsfiddle可能有错字!     

要回复问题请先登录注册