我正在编写一个拖放脚本。按住鼠标并沿着页面移动鼠标时的问题是它开始选择文本。我找到了一种通过调用...来防止这种情况的方法。
var selection = window.getSelection();
selection.removeAllRanges();
......移动鼠标时。像往常一样,我遇到了Internet Explorer的问题。是否有相同的方法使这个方法在< IE9(没有插件,纯JavaScript)?
提前致谢!
答案 0 :(得分:2)
整个选择模型在旧IE中完全不同。现代浏览器中没有window.getSelection()
和Range
个对象。在IE< 9中实现选择和范围时,您已熟悉TextRange Objects等。
但是,IE的问题可以通过简单的方式解决。将onselectstart
事件附加到window
(或您需要的任何元素)。在处理程序中阻止默认操作并取消冒泡。像这样:
window.attachEvent('onselectstart', function (e) {
e.returnValue = false;
e.cancelBubble = true;
return false;
}
答案 1 :(得分:2)
旧IE中的等效代码(包括版本8)
document.selection.empty();
相关MSDN页面:http://msdn.microsoft.com/en-gb/library/ie/ms535869(v=vs.85).aspx