如何阻止用户使用javascript突出显示任何文本?

时间:2014-07-22 19:32:45

标签: javascript text highlight

有一种方法可以使用CSS,但它是一个非标准功能:

::selection {
    background: transparent;
}

::-moz-selection {
    background: transparent;
}

有没有办法在JavaScript中执行此操作?有关::selection的更多信息,请访问caniuse

3 个答案:

答案 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