2013-05-11 83 views
29

我想通过JavaScript为div设置pointer-events: none,但是该属性没有被应用。Javascript设置指针事件

我曾尝试:

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

和:

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

但既不工作,任何想法?

回答

60

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

您的第二次尝试失败,因为出于某种原因,在制作此API时casing-like-this转换为camelCasingLikeThis。这可能是,因为建立JavaScript的人和建立CSS的人没有很好的协调。

下面应该工作:

document.getElementById("div").style.pointerEvents = "none"; 
+1

非常感谢。将尽快接受。 :P – user1334130 2013-05-11 00:09:11

+1

很高兴我能提供帮助,另外,您可能会觉得这很有趣:http://www.youtube.com/watch?v=Y2Y0U-2qJMs – 2013-05-11 00:10:07

+0

您可以链接到列出这些JavaScript样式属性的文档吗?例如,我看不到有关'pointerEvents'的任何信息[https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style]。 – Mitch 2015-07-26 07:58:57

-1

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

0

您可以通过访问Bracket notation样式属性是这样的:

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

无需在骆驼的情况下修改在这种情况下。