Estoy tratando de comprender esta diferencia específica entre las directas y delegadas controladores de eventos utilizando el jQuery .on () método . Específicamente, la última oración en este párrafo:
Cuando
selector
se proporciona a, el controlador de eventos se denomina delegado . No se llama al controlador cuando el evento ocurre directamente en el elemento enlazado, sino solo para los descendientes (elementos internos) que coinciden con el selector. jQuery burbujea el evento desde el destino del evento hasta el elemento donde está conectado el controlador (es decir, el elemento más interno al más externo) y ejecuta el controlador para cualquier elemento a lo largo de esa ruta que coincida con el selector.
¿Qué quiere decir con "ejecuta el controlador para cualquier elemento"? Hice una página de prueba para experimentar con el concepto. Pero las dos construcciones siguientes conducen al mismo comportamiento:
$("div#target span.green").on("click", function() {
alert($(this).attr("class") + " is clicked");
});
o,
$("div#target").on("click", "span.green", function() {
alert($(this).attr("class") + " is clicked");
});
¿Quizás alguien podría referirse a un ejemplo diferente para aclarar este punto? Gracias.