如何在不使用传统方法e.stopPropagation(底部相关问题)的情况下阻止文本选择?
是否有一个电话,我可以说"不突出任何突出显示"?
我将鼠标事件绑定在文档上,因为页面中有大约一百个[或多或少]元素,我希望彼此进行交互.
我没有将事件绑定到元素的原因是因为当鼠标离开元素时,所有鼠标事件都会停止触发.我需要绑定到文档以正确观看鼠标事件.
使用传统方法(下面的链接)的方法的问题是,在触发侦听器时,具有文本的元素已经评估了鼠标事件.
我的代码适用于Chrome.以下问题适用于Firefox.
相关问题: 如何使用光标拖动阻止文本/元素选择
这里讨论了防止冒泡到文本元素:
if(e.stopPropagation) e.stopPropagation();
if(e.preventDefault) e.preventDefault();
e.cancelBubble=true;
e.returnValue=false;
return false;
Run Code Online (Sandbox Code Playgroud)
iam*_*jpg 10
抱歉删除我的最后一个答案,但我意识到它仍然不适用于FF.
我相信这个答案,以及上面的CSS答案,将产生你正在寻找的结果.这是一个跨浏览器的解决方案.
var unFocus = function () {
if (document.selection) {
document.selection.empty()
} else {
window.getSelection().removeAllRanges()
}
}
Run Code Online (Sandbox Code Playgroud)
所谓的onmouseup和onmousemove做的伎俩.
这是小提琴:http://jsfiddle.net/z2kpcwb6/
小智 5
您可以使用 css 禁用对元素的选择。
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10026 次 |
| 最近记录: |