/ / jQuery - evento de incendio solo para la capa superior - jquery, html

jQuery - evento de incendio solo para la capa superior - jquery, html

así que digamos que tengo un div e img en él. He agregado el evento click para el div y el img aswell. Cuando hago clic en el img solo quiero disparar el evento click para el img.

Podría hacer algo con e.stopPropagation (), pero en el entorno real tendré que adjuntar un evento de clic para casi todos los elementos, por lo que podría terminar con 10 divs entre sí, etc. Así que solo necesito obtener el elemento donde está el mouse , no padres (o hijos) y cosas por el estilo.

¿Cómo podría lograr esto?

¡Gracias!

Edición: Aquí hay un ejemplo: http://jsbin.com/uhuto/881/edit

Cuando haces clic en las casillas superiores (las dos una en la otra) mientras está el div "shield", ¿cómo obtienes el elemento exacto en el que hiciste clic? debajo ¿el escudo?

Respuestas

0 para la respuesta № 1

Puedes usar e.target para saber el elemento real pulsado -

$("div").on("click",function(e){
var clickedElement = e.target;
});

0 para la respuesta № 2

Intenta usar el objeto de evento, me gusta:

$("#whatever").click(function(event){
var ev = event || window.event;
if(ev.target === this){
//do your thing here
}
});