我需要阻止用户在我的 Web 应用程序 UI 中选择元素,输入字段和文本区域中的文本除外。对于 Firefox,该技术似乎是使用这个 css:
* { -moz-user-select: none; }
这工作得很好(经过测试的 Firefox 3.5.2),除了你不能在输入字段或文本区域中选择。
我试着把它分成
div,td,span,img { -moz-user-select: none; }
input,textarea { -moz-user-select: text; }
但是,如果输入字段在 div、td 或 span 内,则它是不可选择的。似乎 -moz-user-select 属性也适用于所有孩子,无论这些孩子是否覆盖该设置。除了针对特定元素将其设置为更精细(和烦人)的级别之外,有没有人知道解决这个问题的方法?
注意这不是出于安全目的。我很高兴让用户查看源代码或高级用户将其关闭。但是对于具有拖放功能的 Web UI,或者只是那些应该表现得像一般应用程序而不是像文档一样的 Web UI,能够意外选择文本真的很奇怪。对于大多数用户来说,它经常发生。