全局阻止Firefox中的文本选择

时间:2013-01-13 20:04:18

标签: html css

我目前正在使用:

*{
    -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

2 个答案:

答案 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- !!的地方。