2013-05-11 5 views
29

divをJavaScriptでpointer-events: noneに設定しようとしていますが、このプロパティは適用されていません。JavaScript設定ポインタイベント

私が試してみました:任意のアイデアを

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

しかし、どちらも働いていた、

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

とは?

答えて

60

CSSプロパティであり、属性(style属性の一部)ではないため、最初の試みは失敗しました。

いくつかの理由から、このAPIを作成するときにcasing-like-thiscamelCasingLikeThisに変換されるため、2度目の試行は失敗しました。これはです。なぜなら、JavaScriptを構築した人たちとCSSを作った人たちはあまりよく調整されていないからです。

次は動作するはずです:

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

ありがとうございます。できるだけ早く受け入れます。 :P – user1334130

+1

嬉しいことに、私はこれも面白いかもしれません:http://www.youtube.com/watch?v=Y2Y0U-2qJMs –

+0

これらのJavaScriptスタイルの属性が記載されているドキュメンテーションへのリンクをお願いしますか?例えば、ここで言及した 'pointerEvents'(https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style)については何も見ることができません。 – Mitch

-1

代わりelement.style.pointer-events = "none";を使用してのelement.setAttributeNS(null, "pointer-events", "none");を使用していますbookexampleがあります。

0

あなたはこのようBracket notation経由スタイルプロパティにアクセスすることができます。

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

この場合はキャメルケースの変形例では必要がありません。

関連する問題