El segundo oyente no anulará el primero. Los manejadores de eventos jQuery se agregan de forma acumulativa y se ejecutan en el orden en que se adjuntaron.
Lo que hace efecto si un controlador impide que la otra correr es la forma en la función cancela controlador de clic por defecto del navegador (es decir, cómo se detiene el navegador siguiendo el URL del enlace)
Si utiliza el método tradicional:
$(element).on('click', function() {
/* Some Stuff, do your thing */
return false;
});
El controlador anterior detendrá el evento y se propagará a otros controladores.
Pero puede detener la acción del evento sin detener su propagación o el manejador:
$(element).on('click', function(e) {
// prevent the default action at first, just to make it clear :)
e.preventDefault();
/* do your thing */
return /* what you want */;
});
Esto asegurará que la acción predeterminada clic no se produce, sino que el evento sigue a otros hanlders. El evento jQuery también tiene algún otro útil event propagation methods (por ejemplo, Event.stopPropagation()
) que vale la pena conocer.
echar un vistazo aquí http://stackoverflow.com/questions/891989/javascript-adding-an-onclick-handler-without-overwriting-the-existing-one –
por qué el downvotes? La pregunta es clara y concisa. –
Lol, no quería escribir el código a ciegas sin saber si este era el caso. Edité mi pregunta para que tuviera más sentido. – trusktr