我一直试图为Opera 10.62和IE9应用user-select
但没有成功。我不能/不会使用preventDefault()
的JavaScript绑定事件,因为有太多的地方需要设置无法选择,我仍然需要在几个地方保留选择。实际上,我希望整个文档的默认行为是不可选择的,至于我在样式表中设置了以下内容:
* {
-o-user-select: none;
-webkit-user-select: none;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-ms-user-select: none;
user-select: none;
}
Firefox 4,Chrome 7和Safari 5的一切都运行良好。只有IE9和Opera 10.62无法正常工作。有什么想法吗?
PS:我的目标是现代浏览器。
答案 0 :(得分:7)
您是否尝试使用::selection {color:currentColor;background:transparent}
?
对于Firefox,您可以使用::-moz-selection
。
https://developer.mozilla.org/En/CSS/::selection
http://msdn.microsoft.com/en-us/library/ff974109(v=VS.85).aspx
http://reference.sitepoint.com/css/pseudoelement-selection
<小时/> //更新//
答案 1 :(得分:4)
您可以使用-webkit-user-select: none;
,-moz-user-select: none;
和特定属性unselectable="on"
的组合,如我在此处所述:
答案 2 :(得分:2)
user-select不是标准的CSS3属性,这就是没有用户选择或-o-user-select或-ms-user-select的原因。它曾经是旧的用户界面规范,但它已被Basic UI规范取代。它可能永远不会被任何一个浏览器实现,除非它被添加回规范。
用户选择是行为而不是样式,因此最好使用JavaScript。正如Knu上面提到的,你可以使用不可选择的。
答案 3 :(得分:0)
使用jquery:
$('.element').mousedown( function(e) {
e.preventDefault();
});
但你可能不得不将它添加到元素和它的容器中。
答案 4 :(得分:0)
-ms-user-select:none;
现在似乎工作正常(IE 10/11)