Evento borbulhando ou captura de eventos em JavaScript

Evento borbulhando ou captura de eventos em JavaScript
Quando ocorre um evento, a propagação do evento determina a ordem do elemento para a execução dos eventos. No modelo de objeto de documentos HTML (DOM), existem dois métodos para propagação de eventos: borbulhas e captura de eventos. No evento, borbulhando, o evento relacionado ao elemento mais interno ou filho é processado primeiro. Por outro lado, na captura de eventos, um evento associado ao elemento mais externo ou do pai é tratado e, em seguida, o controle de fluxo de eventos se aproxima do elemento filho passo a passo.

Este artigo discutirá o evento JavaScript Bubbling and Event Capturing. Além disso, os exemplos relacionados à borbulha e captura de eventos serão demonstrados neste artigo. Então vamos começar!

Evento borbulhando em javascript

Em JavaScript, o evento Bubbling é um evento que borbulha do alvo ou dos elementos mais internos para seus pais, então segue uma abordagem de baixo para cima e move o fluxo de controle de eventos para seus ancestrais. O Evento Bubling é considerado como método de fluxo de eventos padrão em todos os navegadores modernos.

Exemplo: Evento borbulhando em JavaScript

No exemplo a seguir, adicionamos um título com a tag, um elemento div com o id “ParentElement” e seu elemento de botão filho aninhado com o ID “Afibelement”:




Evento JavaScript borbulhando




Depois de buscar os elementos HTML criados usando o "documento.QuerySelector () ” Método, adicionaremos um ouvinte de eventos à divisão “ParentElement” e seu botão aninhado “Afibelement”. A função passada no “AddEventListener ()” exibirá a string adicionada na "console.registro()" método:



Execute o programa acima do seu editor de código favorito ou qualquer caixa de areia de codificação on-line; No entanto, utilizaremos o JSBIN para esse fim:

Agora, clicaremos no "Criança" Botão que pode ser visto na seguinte saída:

Clicando no "Criança" Botão, o passado "função()" No método addEventListener () será executado. Então o “OnClick ()” Método do “Div” elemento será invocado. Está acontecendo por causa do “Evento borbulhando”:

No exemplo acima, quando clicamos no "Criança" botão, o "clique" Evento é passado do botão com ID “Afibelement” e o controle de fluxo de eventos se move para o "documento" Na seguinte ordem:

Como parar o evento borbulhando em javascript

Usando o "evento.StopPropagation () ” Método, você pode interromper facilmente o evento borbulhando em seu programa JavaScript e interrompe a viagem do evento de baixo para o topo.

Exemplo: Stop Event Bubling em JavaScript

No exemplo abaixo, adicionaremos o "evento.StopPropagation () ” método para o “OnClick ()” evento do botão criado com ID “Afibelement”. Como resultado, o intérprete JavaScript não passará o evento para o elemento "documento" mais externo:




Como parar o evento borbulhando







Clicar no botão destacado só será imprimido “Criança clicada” E então impede o evento de borbulhar:

Captura de eventos em JavaScript

O processo em que um evento é capturado quando seu fluxo de controle se move do elemento superior para o elemento alvo é conhecido como captura de eventos. Embora os navegadores modernos não tenham a capacidade de permitir a captura de eventos por padrão, você pode executar esta operação através do código JavaScript.

Exemplo: Captura de eventos em JavaScript

Em nosso programa JavaScript, antes de tudo, adicionaremos um título e um “Div” elemento com identificação “ParentElement” e seu elemento filho com “Afibelement” eu ia:




Captura de eventos JavaScript




Em seguida, vamos invocar o "documento.QuerySelector () ” Método para obter o elemento pai e filho:



A seguir "Criança" Botão primeiro invocará o evento adicionado ao elemento pai. Depois disso, ele executará o evento anexado ao alvo:

No exemplo acima, quando clicamos no "Criança" botão, o "clique" O evento é passado do elemento pai que é "documento", para o destino de evento especificado “Afibelement” botão:

Como parar de capturar eventos em javascript

Para parar de capturar eventos, você pode utilizar o "evento.StopPropagation () ” método. A diferença entre interromper a captura do evento e a borbulha do evento é que, em eventos borbulhando, anexamos o “evento.StopPropagation () ”Método com o evento relacionado ao elemento filho, enquanto, na captura de eventos, o evento.O método StopPropagation () é adicionado no evento pai.

Execute o exemplo abaixo para saber como parar a captura de eventos usando o código JavaScript:




Captura de eventos JavaScript







A saída fornecida significa que a captura de eventos é interrompida após a execução do evento associado ao elemento pai:

Aqui está a visão completa do fluxo de eventos com as fases de captura de eventos e bolhas de eventos:

Conclusão

Em JavaScript, Bubbling e captura de eventos de eventos são os conceitos mais importantes em relação à propagação de eventos. No HTML DOM, a captura de eventos refere -se à propagação de eventos de elementos ancestrais para o filho. No evento, borbulhando, o fluxo de controle de eventos se move dos elementos infantis para os ancestrais. Este artigo discutiu o evento JavaScript Bubbling and Event Capturing. Além disso, os exemplos relacionados à borbulha e captura de eventos também são demonstrados neste artigo.