¿StopPropagation también evita que se ejecuten otros controladores en el mismo elemento?

Sé que stopPropagation() evita que el evento llegue a los elementos DOM que envuelven el elemento actual. ¿También evita que este evento se entregue a otros manejadores en el mismo elemento?

Para dar un ejemplo, tengo mi propio controlador de clic definido en un elemento. Además, también estoy usando este plugin jQuery Context Menu que maneja un mousedown+(testbutton == 2)+mouseup y usa stopPropagation() después del mouse (arriba | abajo) y esto parece deshabilitar mis controladores de clic. Si comento estas dos llamadas en la fuente del complemento, mis controladores de clic y el menú contextual funcionan correctamente. Esto parece sugerir que stopPropagation() y stopImmediatePropgation() hacen lo mismo. ¿Mi entendimiento es correcto?

El stopPropagation no detiene otros controladores del mismo evento, pero en este caso específico lo hace. Si lo usas en el evento mousedown , evitará el evento click .

Demostración: http://jsfiddle.net/v6ges/

 $('div').mousedown(function(e){ alert(0); e.stopPropagation(); }); $('div').click(function(e){ alert(1); e.stopPropagation(); }); $('div').click(function(e){ alert(2); e.stopPropagation(); }); 

Sólo se desencadena el evento mousedown . Si comenta el mousedown evento de mousedown , se activan ambos eventos de click .