css - 防止在 CSS 中选择 Firefox

标签 css firefox selection

我想禁止仅使用 CSS 选择元素(使用鼠标或使用 CRTL+A 选择)。我尝试了以下方法:

element {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

element::-moz-selection {
    background: transparent;
}

它在 Firefox 20 中不能正常工作。但它在 webkit 中工作。即使使用上述 CSS 规则,我也可以使用 CTRL+A 选择图像和 Canvas 。

有没有办法只使用 CSS(不使用 JS)来禁止选择(或者至少不显示它)。

我不想阻止用户复制文本,我只是想隐藏某些元素的选择。

我尝试了 this answer 中的代码, 但它似乎在 Firefox 20 中不起作用。

感谢您的帮助。

最佳答案

我已经在 FF20 中用下面的 fiddle 试过了:http://jsfiddle.net/ADGsA/

p.noselect { -moz-user-select:none; }
p.recolor::-moz-selection { color: yellow;  background: red; }

鼠标的所有行为都符合预期,但我确实仍然可以使用 ctrl-A 选择文本。我很确定这是 Gecko 中的一个错误,但根据 the MDN reference page 判断,这也很可能不是他们要解决的错误。 :

Note: user-select is not currently part of any W3C CSS specification. As such, there are minor differences between the browser implementations. Be sure to test your application across browsers.

非标准化,因此不可预测。拿走你得到的东西并幸运地使用它我想,你可能会考虑在 Bugzilla 上为此提出一个错误,因为我真的认为他们不是故意的,正如提到的页面还说的那样:

Controls the appearance (only) of selection.

这表明 ctrl-A 也不应该能够选择它。


编辑:

这是一个known issue since November 2008 .不要屏住呼吸等待修复,投票并祈祷。

关于css - 防止在 CSS 中选择 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16220416/

相关文章:

javascript - 当我合并时,Magento 忽略了我的 javascript 文件

html - 保持固定菜单栏不重叠

html - 当时间更改或结束时,Firefox 在视频上触发 'pause' 事件

javascript - 可以使用 Javascript 刷新浏览器窗口吗?

javascript - 如何在javascript中收集对象数组

css - 如何将多个 Bootstrap 输入放在同一行?

javascript - 将带有图像路径值的 Json 文档插入到 css 背景属性中

javascript - 无法使用javascript在Firefox中获取鼠标滚轮滚动方向

javascript - 文本选择和冒泡

wpf - 确定 WPF RichTextBox 中选定的 InlineUIContainer