Event.target
La propiedad target
de la interfaz del event.currentTarget
es una referencia al objeto en el cual se lanzo el evento. Es diferente de event.currentTarget
donde el controlador de eventos (event handler) es llamado durante la fase de bubbling or capturing del evento.
Sintaxis
const theTarget = algunEvento.target
Ejemplo
La propiedad event.target
puede ser usada para implementar una delegación del evento.
// Crear una lista
const ul = document.createElement('ul');
document.body.appendChild(ul);
const li1 = document.createElement('li');
const li2 = document.createElement('li');
ul.appendChild(li1);
ul.appendChild(li2);
function hide(e){
// e.target se refiere elemento clickado <li>
// Esto es diferente de e.currentTarget, que se referiría al padre <ul> en este contexto
e.target.style.visibility = 'hidden';
}
// Incluir el 'listener' a la lista
// Se ejecutará cuando se haga click en cada <li>
ul.addEventListener('click', hide, false);
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
DOM La definición de 'Event.target' en esta especificación. |
Living Standard | |
DOM4 La definición de 'Event.target' en esta especificación. |
Obsolete | |
Document Object Model (DOM) Level 2 Events Specification La definición de 'Event.target' en esta especificación. |
Obsolete | Definición inicial |
Compatibilidad del navegador
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help! (en-US)
Característica | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Característica | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Notas de compatibilidad
En IE 6-8 el evento 'model' es diferente. Los eventos 'listeners' son are incluidos con el método no estándar EventTarget.attachEvent
(en-US). En este modelo, el evento 'object' tiene una propiedad Event.srcElement
(en-US), en vez de la propiedad target
, y tiene la misma semántica que event.target
.
function hide(e) {
// Soporte en IE6-8
var target = e.target || e.srcElement;
target.style.visibility = 'hidden';
}