有一种方法可以使用CSS,但它是一个非标准功能:
::selection {
background: transparent;
}
::-moz-selection {
background: transparent;
}
有没有办法在JavaScript中执行此操作?有关::selection
的更多信息,请访问caniuse。
答案 0 :(得分:0)
是的,您可以收听onselectstart事件并取消它。 Here's an example
答案 1 :(得分:0)
我知道你想要一个js解决方案,但这种css样式应适用于所有主流浏览器:
.nohighlight{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
答案 2 :(得分:0)
试试这个
function disableSelection(target){
if (typeof target.onselectstart!="undefined") // IE
target.onselectstart=function(){return false;};
else if (typeof target.style.MozUserSelect!="undefined") // Firefox
target.style.MozUserSelect="none";
else // Opera and the others
target.onmousedown=function(){return false;};
target.style.cursor = "default";
}
用法:
disableSelection(document.body);
工作jsBin