用户选择Opera 10.62和IE9吗?

时间:2010-10-10 14:58:44

标签: css internet-explorer opera

我一直试图为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:我的目标是现代浏览器。

5 个答案:

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

<小时/> //更新//
还有unselectable属性。

答案 1 :(得分:4)

您可以使用-webkit-user-select: none;-moz-user-select: none;和特定属性unselectable="on"的组合,如我在此处所述:

How to make text unselectable on HTML page

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