Maison interface Web js tutoriel Cas d'application pratiques de bouillonnement d'événements et de capture d'événements dans le développement front-end

Cas d'application pratiques de bouillonnement d'événements et de capture d'événements dans le développement front-end

Jan 13, 2024 pm 01:06 PM
事件冒泡 前端开发 capture d'événement

Cas dapplication pratiques de bouillonnement dévénements et de capture dévénements dans le développement front-end

Cas d'application du bouillonnement d'événements et de la capture d'événements dans le développement front-end

Le bouillonnement d'événements et la capture d'événements sont deux mécanismes de diffusion d'événements qui sont souvent utilisés dans le développement front-end. En comprenant et en appliquant ces deux mécanismes, nous pouvons gérer les comportements interactifs dans la page de manière plus flexible et améliorer l'expérience utilisateur. Cet article présentera les concepts de bouillonnement d'événements et de capture d'événements, et les combinera avec des exemples de code spécifiques pour démontrer leurs cas d'application dans le développement front-end.

1. Le concept de bouillonnement d'événement et de capture d'événement

  1. Bubbling d'événement

Le bouillonnement d'événement signifie qu'après le déclenchement d'un événement d'un élément, l'événement bouillonnera et le transmettra couche par couche à l'élément parent, jusqu'à ce qu'il soit transmis à l'élément racine du document (document). En d'autres termes, si un élément déclenche un événement, l'événement sera traité dans l'élément parent de l'élément, l'élément parent de l'élément parent et jusqu'à l'élément racine du document.

  1. Capture d'événements

La capture d'événements est tout le contraire du bouillonnement d'événements. Elle fait référence à la capture d'événements à partir de l'élément racine du document et en descendant jusqu'à l'élément qui déclenche l'événement. En d'autres termes, lorsqu'un élément déclenche un événement, l'événement sera capturé à partir de l'élément racine du document puis transmis au niveau où se trouve l'élément.

2. Cas d'application de bouillonnement d'événements et de capture d'événements

  1. Délégation d'événement

La délégation d'événement est un événement qui délègue des événements à ses éléments descendants en liant un écouteur d'événement à l'élément parent. En liant les écouteurs d'événements aux éléments parents, nous n'avons pas besoin d'ajouter des écouteurs distincts pour chaque élément descendant, améliorant ainsi les performances et la maintenabilité du code. Grâce au mécanisme de diffusion d'événements, nous pouvons intercepter tous les événements déclenchés et effectuer un traitement spécifique basé sur différentes sources de déclenchement.

La structure HTML est la suivante :

<div id="parent">
  <button>按钮1</button>
  <button>按钮2</button>
  <button>按钮3</button>
</div>
Copier après la connexion

Le code JavaScript est le suivant :

var parent = document.getElementById('parent');

parent.addEventListener('click', function(e) {
  if (e.target.nodeName === 'BUTTON') {
    console.log('你点击了按钮', e.target.innerHTML);
  }
});
Copier après la connexion

Dans le code ci-dessus, nous lions l'événement click à l'élément parent #parent</ code> Listener, lorsque vous cliquez sur le bouton, l'événement remontera jusqu'à l'élément parent et déclenchera la fonction de rappel de l'événement <code>click. En utilisant l'attribut target de l'objet événement (e), nous pouvons obtenir l'élément source du déclencheur et le traiter en conséquence. #parent绑定了click事件监听器,当点击按钮时,事件将冒泡至父元素,并触发click事件的回调函数。利用事件对象(e)的target属性,我们可以获取到触发源元素,并进行相应的处理。

  1. 事件代理(Event Proxy)

事件代理是一种通过在冒泡或捕获阶段内截获事件,并根据条件来阻止或修改事件的传递或处理过程。在事件捕获的机制下,我们可以在某一特定层级上截获事件,并做出相应的处理。

HTML结构如下所示:

<div id="container">
  <div id="box1"></div>
  <div id="box2">
    <button>按钮</button>
  </div>
</div>
Copier après la connexion

JavaScript代码如下所示:

var container = document.getElementById('container');

container.addEventListener('click', function(e) {
  if (e.target.nodeName === 'BUTTON') {
    console.log('你点击了按钮');
    e.stopPropagation();
  }
});
Copier après la connexion

上述代码中,我们通过对容器元素#container绑定了click事件监听器。当点击按钮时,事件将进行捕获阶段,委托的事件处理程序将拦截并处理该事件。通过调用事件对象(e)的stopPropagation()

Event Proxy

Event Proxy est un processus qui intercepte les événements pendant la phase de bouillonnement ou de capture et bloque ou modifie la livraison ou le traitement des événements en fonction des conditions. Grâce au mécanisme de capture d'événements, nous pouvons intercepter les événements à un niveau spécifique et les traiter en conséquence. 🎜🎜La structure HTML est la suivante : 🎜rrreee🎜Le code JavaScript est le suivant : 🎜rrreee🎜Dans le code ci-dessus, nous lions l'événement click à l'élément conteneur #container code> écouteur. Lorsque vous cliquez sur le bouton, l'événement passe par la phase de capture et le gestionnaire d'événements délégué intercepte et gère l'événement. En appelant la méthode <code>stopPropagation() de l'objet événement (e), nous pouvons empêcher l'événement de se propager vers le haut. 🎜🎜3. Résumé🎜🎜Le bouillonnement d'événements et la capture d'événements sont des concepts très importants dans le développement front-end. Ils peuvent nous aider à mieux gérer les comportements interactifs sur la page. Grâce à l'introduction de deux cas d'application et d'exemples de code spécifiques de délégation d'événements et de proxy d'événements, nous pouvons comprendre et appliquer ces deux mécanismes plus en profondeur et améliorer les performances et la maintenabilité du code. Dans les projets réels, nous pouvons choisir un mécanisme de diffusion d'événements approprié en fonction de besoins et de scénarios spécifiques pour obtenir une meilleure expérience utilisateur. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pourquoi le bouillonnement d'événements se déclenche-t-il deux fois ? Pourquoi le bouillonnement d'événements se déclenche-t-il deux fois ? Feb 22, 2024 am 09:06 AM

Pourquoi le bouillonnement d'événements se déclenche-t-il deux fois ? Le bouillonnement d'événement (Event Bubbling) signifie que dans le DOM, lorsqu'un élément déclenche un événement (comme un événement de clic), l'événement bouillonne de l'élément vers l'élément parent jusqu'à ce qu'il bouillonne vers l'objet document de niveau supérieur. La diffusion d'événements fait partie du modèle d'événement DOM, qui permet aux développeurs de lier des écouteurs d'événements aux éléments parents, de sorte que lorsque des éléments enfants déclenchent des événements, ceux-ci puissent être capturés et traités via le mécanisme de diffusion. Cependant, les développeurs rencontrent parfois des événements qui se déclenchent deux fois.

Pourquoi l'événement click dans js ne peut-il pas être exécuté à plusieurs reprises ? Pourquoi l'événement click dans js ne peut-il pas être exécuté à plusieurs reprises ? May 07, 2024 pm 06:36 PM

Les événements de clic en JavaScript ne peuvent pas être exécutés à plusieurs reprises en raison du mécanisme de propagation des événements. Pour résoudre ce problème, vous pouvez prendre les mesures suivantes : Utiliser la capture d'événement : Spécifiez un écouteur d'événement à déclencher avant que l'événement ne se déclenche. Remise des événements : utilisez event.stopPropagation() pour arrêter le bouillonnement des événements. Utilisez une minuterie : déclenchez à nouveau l'écouteur d'événements après un certain temps.

Raisons et solutions de l'échec de jQuery .val() Raisons et solutions de l'échec de jQuery .val() Feb 20, 2024 am 09:06 AM

Titre : Raisons et solutions de l'échec de jQuery.val() Dans le développement front-end, jQuery est souvent utilisé pour faire fonctionner des éléments DOM. La méthode .val() est largement utilisée pour obtenir et définir la valeur des éléments de formulaire. Cependant, nous rencontrons parfois des situations où la méthode .val() échoue, entraînant l'incapacité d'obtenir ou de définir correctement la valeur de l'élément de formulaire. Cet article explorera les causes de l'échec de .val(), fournira les solutions correspondantes et joindra des exemples de code spécifiques. 1.Méthode d'analyse des causes.val()

Pour quels scénarios les modificateurs d'événements dans vue peuvent-ils être utilisés ? Pour quels scénarios les modificateurs d'événements dans vue peuvent-ils être utilisés ? May 09, 2024 pm 02:33 PM

Les modificateurs d'événements Vue.js sont utilisés pour ajouter des comportements spécifiques, notamment : empêcher le comportement par défaut (.prevent) arrêter le bouillonnement d'événements (.stop) événement ponctuel (.once) capturer l'événement (.capture) écouter passivement les événements (.passive) Adaptatif modificateur (.self)Modificateur de touche (.key)

Pourquoi le mécanisme de bouillonnement d'événements se déclenche-t-il deux fois ? Pourquoi le mécanisme de bouillonnement d'événements se déclenche-t-il deux fois ? Feb 25, 2024 am 09:24 AM

Pourquoi le bouillonnement d’événements se produit-il deux fois de suite ? La diffusion d'événements est un concept important dans le développement Web. Cela signifie que lorsqu'un événement est déclenché dans un élément HTML imbriqué, l'événement remonte de l'élément le plus interne vers l'élément le plus externe. Ce processus peut parfois prêter à confusion. Un problème courant est que la diffusion d'événements se produit deux fois de suite. Afin de mieux comprendre pourquoi le bouillonnement d'événements se produit deux fois de suite, regardons d'abord un exemple de code :

Quels événements JS ne bouillonnent pas ? Quels événements JS ne bouillonnent pas ? Feb 19, 2024 pm 09:56 PM

Quelles sont les situations dans les événements JS qui ne bouillonneront pas ? Le bouillonnement d'événements (Event Bubbling) signifie qu'après le déclenchement d'un événement sur un certain élément, l'événement sera transmis vers le haut le long de l'arborescence DOM, de l'élément le plus interne à l'élément le plus externe. Cette méthode de transmission est appelée bouillonnement d'événements. Cependant, tous les événements ne peuvent pas surgir. Il existe des cas particuliers dans lesquels les événements ne surgissent pas. Cet article présentera les situations en JavaScript dans lesquelles les événements ne bouillonneront pas. 1. Utilisez stopPropagati

Qu'est-ce que le bouillonnement d'événements ? Analyse approfondie du mécanisme de bouillonnement des événements Qu'est-ce que le bouillonnement d'événements ? Analyse approfondie du mécanisme de bouillonnement des événements Feb 20, 2024 pm 05:27 PM

Qu’est-ce que le bouillonnement d’événements ? Analyse approfondie du mécanisme de diffusion d'événements. La diffusion d'événements est un concept important dans le développement Web, qui définit la manière dont les événements sont diffusés sur la page. Lorsqu'un événement sur un élément est déclenché, l'événement sera transmis à partir de l'élément le plus interne et transmis vers l'extérieur jusqu'à ce qu'il soit transmis à l'élément le plus externe. Cette méthode de livraison est comme des bulles bouillonnant dans l’eau, c’est pourquoi on l’appelle bouillonnement événementiel. Dans cet article, nous analyserons en profondeur le mécanisme de bouillonnement d’événements. Le principe du bouillonnement d’événements peut être compris à travers un exemple simple. Supposons que nous ayons un H

La différence et le lien entre le développement front-end et back-end La différence et le lien entre le développement front-end et back-end Mar 26, 2024 am 09:24 AM

Le développement front-end et back-end sont deux aspects essentiels de la création d’une application Web complète. Il existe des différences évidentes entre eux, mais ils sont étroitement liés. Cet article analysera les différences et les liens entre le développement front-end et back-end. Tout d’abord, examinons les définitions et les tâches spécifiques du développement front-end et du développement back-end. Le développement front-end est principalement responsable de la création de l'interface utilisateur et de la partie interaction utilisateur, c'est-à-dire ce que les utilisateurs voient et utilisent dans le navigateur. Les développeurs front-end utilisent généralement des technologies telles que HTML, CSS et JavaScript pour implémenter la conception et les fonctionnalités des pages Web.

See all articles