Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.
Identifica l'elemento del DOM a cui è stato assegnato l'event handler diversamente dall' event.target
che rappresenta l'elemento da cui è stato generato l'evento.
Esempio
L' event.currentTarget
risulta utile da usare quando si assegna lo stesso event handler a numerosi elementi.
function hide(e){ e.currentTarget.style.visibility = "hidden"; // When this function is used as an event handler: this === e.currentTarget } var ps = document.getElementsByTagName('p'); for(var i = 0; i < ps.length; i++){ ps[i].addEventListener('click', hide, false); } // click around and make paragraphs disappear
Specifiche
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 2 Events Specification The definition of 'Event.currentTarget' in that specification. |
Recommendation | Initial definition |
Compatibilità Browser
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes)[1] | (Yes) | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | ? | ? | ? | ? |
[1] Il modello degli eventi implementato dagli Internet Explorer da 6 a 8 è diverso. Gli event listerner sono attaccati attraverso il metodo non standard element.attachEvent.
In questo modello non esiste un equivalente dell' event.currentTarget
inoltre this
è l'oggetto globale. Una possibile soluzione è quella di wrappare la gestione dell' event.currentTarget
in una funzione che chiami la funzione di handler attraverso la Function.prototype.call
passando come primo parametro l'elemento. In questo modo il valore associato allo this
è quello aspettato.