1

这似乎是重复的,但请继续阅读,因为它并非如此......我认为...... :) 我在这里遵循了答案:如何使用 CSS 或 JavaScript 禁用文本选择?有点扭曲。我想以编程方式禁用某些字段的选择,我在Chrome中使用:

node.style.webkitUserSelect="none";

哪个工作正常。但是,我为 Firefox 尝试了以下操作:

node.style.mozUserSelect="none";

但这不起作用。我还没有尝试过任何其他浏览器。有不同的方法可以做到这一点吗?所有 CSS 规则都是这样的“文档化标准”吗:

.rule {
    some-css-selector: value;
}

可以像下面这样翻译成 JavaScript 吗?

node.style.someCssSelector="value";

或者只是运气在某些情况下会起作用?

4

2 回答 2

4

对于带前缀的属性,前缀以大写字母开头,所以node.style.MozUserSelect="none";

于 2013-02-20T20:05:27.970 回答
2

一种选择是创建一个 CSS 样式,然后以编程方式将该类添加到您想要的项目中:

HTML

<div id="container">
  This is some text that should not be selectable!
</div>

CSS

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

JS

var container = document.getElementById("container");
container.className += " noselect";

jsfiddle

于 2013-02-20T20:07:58.827 回答