有没有办法让DIV无法选择?

这里有一个有趣的CSS问题给你!

我有一个背景透明的textarea,覆盖了一些我想用作水印的TEXT。 文字很大,占据了textarea的大部分。 它看起来不错,问题是当用户点击textarea时,它有时会选择水印文本。 我希望水印文本永远不可选择。 我期待如果z-index中的东西更低,它将不可选,但浏览器在选择项目时似乎不关心z-index图层。 有没有一种方法可以让DIV永远不会被选中?


我写了一个简单的jQuery扩展来禁用某些选择:在jQuery中禁用选择。 你可以通过$('.button').disableSelection();来调用它$('.button').disableSelection();

或者,使用CSS(跨浏览器):

.button {
        user-select: none;
        -moz-user-select: none;
        -khtml-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
} 

以下CSS代码几乎适用于现代浏览器:

.unselectable {
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
}

对于IE,你必须在html标签中使用JS或插入属性。

<div id="foo" unselectable="on" class="unselectable">...</div>

只需更新aleemb的原创,大量的解决方案,并添加了一些CSS。

我们一直在使用以下组合:

.unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}

我们从以下地址获得了添加webkit-touch条目的建议:
http://phonegap-tips.com/articles/essential-phonegap-css-webkit-touch-callout.html

2015年4月:只需更新我自己的答案,可以派上用场。 如果您需要使DIV可选/不可选,并且愿意使用Modernizr,则以下工作原理可以在javascript中正常工作:

    var userSelectProp = Modernizr.prefixed('userSelect');
    var specialDiv = document.querySelector('#specialDiv');
    specialDiv.style[userSelectProp] = 'none';
链接地址: http://www.djcxy.com/p/72737.html

上一篇: Is there a way to make a DIV unselectable?

下一篇: Performance AVX/SSE assembly vs. intrinsics