6

我需要阻止用户在我的 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,能够意外选择文本真的很奇怪。对于大多数用户来说,它经常发生。

4

2 回答 2

12
* { -moz-user-select: -moz-none; }
input,textarea { -moz-user-select: text; }
于 2011-03-24T23:24:20.247 回答
1

你正在为一个失败的事业而战。如果我真的想从您的页面中选择文本,或者以某种方式获取它,我会的。

但是,关于你的问题。尝试将 !important 添加到末尾,如下所示:

div,td,span,img { -moz-user-select: none; }
input,textarea { -moz-user-select: text !important; }
于 2009-09-08T20:35:11.867 回答