prevent immediate event bootstrap all jquery events

immediate - jquery Event.stopPropagation() parece no funcionar



mozilla event stoppropagation (1)

Los eventos en vivo no siguen las mismas reglas de burbujeo de eventos. Consulte la documentación sobre el manejo de eventos en vivo .

Cita de la referencia anterior:

Los eventos en vivo no burbujean de la manera tradicional y no se pueden detener utilizando stopPropagation o stopImmediatePropagation. Por ejemplo, tomemos el caso de dos eventos de clic, uno vinculado a "li" y otro "li a". Si se produce un clic en el anclaje interno, se activarán AMBOS eventos. Esto se debe a que cuando $ ("li"). Bind ("click", fn); está limitado, en realidad está diciendo "Cada vez que se produce un evento de clic en un elemento LI, o dentro de un elemento LI, active este evento de clic". Para detener el procesamiento posterior de un evento en vivo, fn debe devolver falso.

¿Me estoy perdiendo totalmente de lo que se supone que debe hacer? Espero que si invoco stopPropagation () en un evento, los manejadores de ese evento no se desencadenarán en elementos ancestrales, pero el ejemplo siguiente no funciona de esa manera (al menos en FireFox 3).

<script type="text/javascript"> $("input").live("click", function(event){ console.log("input click handler called") event.stopPropagation() }); $("body").live("click", function(event){ console.log("body was click handler called. event.isPropagationStopped() returns: " + event.isPropagationStopped()); }) </script> ... <body> <input type="text" > </body>