2013-05-11 80 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'; 

無需在駱駝的情況下修改在這種情況下。