javascript - 清除 Firefox 中的选择

标签 javascript range selection

我有这个功能

function smth() {
var container = null;
var newContainer = null;
if (window.getSelection) {  // all browsers, except IE before version 9
    alert("first if");
    var selectionRange = window.getSelection();
    if (selectionRange.rangeCount > 0) {
        var range = selectionRange.getRangeAt(0);
        container = range.commonAncestorContainer;
        newContainer = container;
    }
}
else {
    if (document.selection) {   // Internet Explorer
        alert("second if");
        var textRange = document.selection.createRange();
        container = textRange.parentElement();
    }
}

if (newContainer) {
    return newContainer.nodeName;
}
else {
    alert("Container object for the selection is not available!");
}
}     

现在,在我做了我需要对选择做的事情之后,我需要清除它。我尝试了一些没有用的东西,有什么想法吗?
document.selection.clear ()    

这没有用。

最佳答案

对于有问题的浏览器:

document.selection.empty()

对于其他浏览器:
window.getSelection().removeAllRanges()

http://help.dottoro.com/ljigixkc.php

关于javascript - 清除 Firefox 中的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6186844/

相关文章:

javascript - 如何使用反引号将 react 元素插入数组

javascript - 重置除当前悬停元素之外的所有其他 jQuery 动画

javascript - 如果具有相同的 html,则显示元素,如果没有,则发出警报,提示 "no results"

javascript - 获取 contentEditable 中另一个选择范围内的选择范围值

java - 使用 setRowSelectionInterval(int, int) 后无法通过箭头键导航 JTable

javascript - 在 ContentEditable Div 中使用 Rangey 保存/恢复选择

javascript - 防止 NodeJS 在开发/调试时缩小 JavaScript 代码

Excel - 测试范围地址中的两个连续数字是否相同

Int 的 Scala 序列

javascript - 有什么方法可以获取文档选择的 x、y、w、h(JavaScript)?