我需要阻止用户在我的网络应用UI中选择元素,除之外的输入字段和textareas中的文本。对于Firefox,该技术似乎是使用这个css:
* { -moz-user-select: none; }
这种方法运行得很好(测试了Firefox 3.5.2),除了你不能在输入字段或textareas中选择。
我尝试将其分成
div,td,span,img { -moz-user-select: none; }
input,textarea { -moz-user-select: text; }
但是,如果输入字段位于div,td或span内,则无法选择。似乎-moz-user-select属性也适用于所有子节点,无论这些子节点是否覆盖该设置。有没有人知道如何解决这个问题,除了为特定元素设置更细粒度(和烦人)的水平?
注意这不是出于安全目的。我很高兴让用户查看源或高级用户关闭此功能。但是对于具有拖放功能的Web UI,或者只是那些应该像应用程序一般而不是像文档一样的Web UI,能够意外选择文本真的很奇怪。它经常发生在大多数用户身上。
答案 0 :(得分:12)
* { -moz-user-select: -moz-none; }
input,textarea { -moz-user-select: text; }
答案 1 :(得分:1)
你正在为失败的事业而战。如果我真的想从您的页面中选择文本,或者以某种方式获取文本,我会。
然而,关于你的问题。尝试添加!important到最后,所以它看起来像这样:
div,td,span,img { -moz-user-select: none; }
input,textarea { -moz-user-select: text !important; }