57

我正在尝试pointer-events: none通过 JavaScript 为 div 设置,但是该属性没有被应用。

我努力了:

document.getElementById("div").setAttribute("pointer-events", "none");

和:

document.getElementById("div").style.pointer-events = "none";

但都没有奏效,有什么想法吗?

4

3 回答 3

132

您的第一次尝试失败了,因为它是 CSS 属性而不是属性(属性的一部分style)。

您的第二次尝试失败,因为由于某种原因,当将此 APIcasing-like-this转换为camelCasingLikeThis. 这可能是因为构建 JavaScript 的人和构建 CSS 的人没有很好地协调。

以下应该有效:

document.getElementById("div").style.pointerEvents = "none";
于 2013-05-11T00:04:24.347 回答
9

您可以通过括号表示法访问样式属性,如下所示:

document.getElementById("div").style['pointer-events'] = 'auto';

在这种情况下不需要进行驼峰式修改。

于 2018-02-26T06:46:57.507 回答
0

书中有一个示例,它使用而不是使用.element.setAttributeNS(null, "pointer-events", "none");element.style.pointer-events = "none";

于 2016-05-14T06:33:35.313 回答