2013-05-11 12 views
29

Sto cercando di impostare pointer-events: none per un div attraverso JavaScript, tuttavia la proprietà non viene applicata.Javascript pointer-events

ho provato:

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

E:

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

Ma né lavorato, tutte le idee?

risposta

60

Il primo tentativo non è riuscito perché era una proprietà CSS e non un attributo (parte dell'attributo style).

Il tuo secondo tentativo non è riuscito perché per qualche motivo non valido, quando si effettua questa API casing-like-this viene convertito in camelCasingLikeThis. Questo è probabilmente perché i ragazzi che hanno creato JavaScript e quelli che hanno creato CSS non erano molto ben coordinati.

Il seguente dovrebbe funzionare:

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

Grazie mille. Accetterà il più presto possibile : P – user1334130

+1

Contento di poterti aiutare, inoltre, potresti trovare questo interessante: http://www.youtube.com/watch?v=Y2Y0U-2qJMs –

+0

Puoi collegare la documentazione in cui sono elencati questi attributi di stile JavaScript? Per esempio, non riesco a vedere nulla su 'pointerEvents' menzionato [qui] (https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style). – Mitch

-1

C'è un example in una book che utilizza element.setAttributeNS(null, "pointer-events", "none"); invece di utilizzare element.style.pointer-events = "none";.

0

È possibile accedere alle proprietà di stile tramite Bracket notation come questo:

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

Non c'è bisogno in caso di cammello modifica in questo caso.