【问题标题】:removeAllRanges() in Internet ExplorerInternet Explorer 中的 removeAllRanges()
【发布时间】:2014-10-08 17:12:39
【问题描述】:

我正在编写一个拖放脚本。按住鼠标并沿页面移动时的问题是它开始选择文本。我找到了一种方法来防止这种情况通过调用...

var selection = window.getSelection();
selection.removeAllRanges();

...移动鼠标时。像往常一样,我在使用 Internet Explorer 时遇到了问题。是否有等效的方法使此方法在

提前致谢!

【问题讨论】:

标签: javascript internet-explorer drag-and-drop selection


【解决方案1】:

整个选择模型在旧版 IE 中完全不同。现代浏览器中没有 window.getSelection()Range 对象。在 IETextRange Objects 等。

但是,您的 IE 问题可以通过简单的方式解决。将onselectstart 事件附加到window(或您需要的任何元素)。在处理程序中阻止默认操作并取消冒泡。像这样的:

window.attachEvent('onselectstart', function (e) {
    e.returnValue = false;
    e.cancelBubble = true;
    return false;
}

【讨论】:

  • 很好的答案!谢谢!
【解决方案2】:

旧 IE(直到并包括版本 8)中的等效代码是

document.selection.empty();

相关 MSDN 页面:http://msdn.microsoft.com/en-gb/library/ie/ms535869(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 2019-04-27
    • 2012-09-02
    • 2023-03-19
    • 2011-05-03
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多