Con ese método solo saltas la fase de captura, pero no la de
bubbling. Necesitas utilizar el método
.stopPropagation()
, o, mi preferido,
.stopImmediatePropagation()
.
¿Cuál es la diferencia?
El primero evita que el evento se propague en los ancestros del elemento, mientras que el segundo hace lo mismo; además, evita que se ejecuten otras funciones manejadoras o
handlers asociadas al evento registrado en el elemento.
Un ejemplo:
Código Javascript
:
Ver originalElemento.addEventListener("evento X", function(event){
//Instrucciones A
event.stopPropagation();
});
Elemento.addEventListener("evento X", function(){
//Instrucciones B (sí se ejecutarán)
});
Código Javascript
:
Ver originalElemento.addEventListener("evento X", function(event){
//Instrucciones A
event.stopImmediatePropagation();
});
Elemento.addEventListener("evento X", function(){
//Instrucciones B (no se ejecutarán)
});
Un saludo