He estado experimentando con la captura de eventos de clic fuera de los elementos usando stopPropagation()
.Usando .on() y e.stopPropagation() en elementos dinámicos
$(".container").children().on('click',function(e){
e.stopPropagation();
});
$(".container").on("click",function(){
alert("outside the box?");
})
Here is a jsFiddle set up to demonstrate it functioning. Debería activarse una alerta cuando haga clic en cualquier lugar fuera del cuadro blanco.
Ahora, estoy tratando de aplicar el mismo principio a los elementos creados dinámicamente. Por lo que yo entiendo, el método on()
de asignación de eventos en jQuery debería permitir que esto funcione sin cambiar el script.
Here is a second jsFiddle donde primero debe hacer clic en un enlace para crear los elementos. Una vez que haya hecho esto, la teoría es que el mismo script funcionará, pero no es así. ¿Qué me estoy perdiendo sobre este método?
Spot on. Poca explicación de por qué sería increíble. –
@MildFuzz: Consulte mi respuesta para obtener una explicación. Si no hubiera visto esta respuesta, debe haber publicado mensajes segundos antes. De todos modos. –