我需要阻止用户在我的Web应用程序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,能够意外选择文本真的很奇怪.它经常发生在大多数用户身上.
解决方法
* { -moz-user-select: -moz-none; } input,textarea { -moz-user-select: text; }