Pare a propagação de eventos

Para impedir a propagação de um evento nas fases de captura e bolha, você chama o Event.stopPropation()método no manipulador de eventos.

Event.stopPropagation();Linguagem de código:  CSS  ( css )

Observe que o event.stopPropagation()método não interrompe nenhum comportamento padrão do elemento, por exemplo, clique no link, caixa de seleção marcada. Se quiser interromper os comportamentos padrão, você pode usar o   Event.preventDefault()método.

Suponha que você tenha um botão dentro de um <div>:

 <div id="box">
    <button class="btn">Register</button>
  </div>Linguagem de código:  HTML, XML  ( xml )

Quando você clica no botão, o evento borbulha para o <div>elemento. O código a seguir mostra duas caixas de alerta quando você clica no botão:

const btn = document.querySelector('.btn');
const box = document.querySelector('#box');

btn.addEventListener('click', function (e) {
  alert('The button was clicked!');

});

box.addEventListener('click', function (e) {
  alert('The box was clicked!');
});Linguagem de código:  JavaScript  ( javascript )

Para evitar que o evento click se propague para <div>o elemento, você chama o stopPropagation()método no manipulador de eventos do botão:

btn.addEventListener('click', function (e) {
  alert('The button was clicked!');
  e.stopPropagation();
});Linguagem de código:  JavaScript  ( javascript )

Agora, apenas uma caixa de alerta é exibida quando você clica no botão.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *