我目前正在使用:
*{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
转到http://jsfiddle.net/KyF5x/并点击列表下方,看到这会突出显示无法突出显示的文字。重新加载页面,现在尝试ctrl + a,看到这也会突出显示文本。
Chrome,Safari或IE 10中不会出现上述情况。
免责声明:我正在使用Firefox 18
答案 0 :(得分:8)
作为临时答案,修复方法是将CSS应用于各个“不可选择的”元素。但是,我很乐意看到有人提出全文解决方案。
li{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
请参阅:http://jsfiddle.net/KyF5x/1/
在网络应用程序领域,而不是典型的网站,具有文档范围的不可选文本的用例更为明显。
答案 1 :(得分:2)
作为Jack答案的补充 - 即使在2018年,firefox也不支持用户选择,但支持moz-user-select。我选择了一个减少版本的接受答案中的小提琴:
/* stop the user selecting page structure with the mouse */
html, body, div, a, i, button, select, option, optgroup, hr, br {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default;
}
这是针对我们不使用任何其他元素的网络应用程序,所有页面结构都是div,甚至标题等,我们并不想禁止在输入或文本区域中进行选择。
这是我们整个网络500k代码应用程序中唯一一个我们必须使用-moz- !!的地方。