Estoy usando un javascript personalizado de usuario para modificar un sitio web. Ese script se ejecuta después de cargar la página web.
¿Cómo puedo evitar que se active un evento de clic que se ha vinculado a un elemento?
El procedimiento de vinculación es opaco, por lo que no puedo obtener la referencia de la función. Además, el elemento también tiene algunos otros eventos vinculados, quiero conservarlos.
Simulé esta situación con este fragmento. Quiero hovering se muestre el desplazamiento cuando se desplaza, pero no se muestra el click al hacer clic. es posible?
const button = document.querySelector('button'); (() => { button.addEventListener('click', () => console.log('clicked')); button.addEventListener('mouseover', () => console.log('hovering')); })(); // What do I do here to prevent the click event from being triggered? <button>Click Me</button>El evento se envía en dos fases, la fase predeterminada es la segunda, "burbujeante", por lo que en este caso puede agregar un oyente en la primera fase, "capturar", configurando el tercer parámetro en true y deteniendo el evento. llegando a la segunda fase:
button.addEventListener('click', e => e.stopPropagation(), true);