Titre : Gérer facilement le bouillonnement d'événements et réaliser des opérations précises, des exemples de code spécifiques sont nécessaires
Résumé : Le bouillonnement d'événements est un problème courant dans le développement front-end, et il est crucial pour la surveillance des événements et le traitement d'éléments d'opération précis . Cet article expliquera comment gérer facilement le bouillonnement d'événements et fournira des exemples de code spécifiques pour aider les lecteurs à réaliser des opérations précises.
Texte :
Le bouillonnement d'événement signifie que dans la structure DOM, lorsqu'un élément déclenche un événement, l'événement sera d'abord traité par l'élément déclencheur, puis remontera jusqu'à l'élément parent étape par étape, déclenchant l'élément parent dans tour. Ce mécanisme peut conduire à un mauvais fonctionnement du traitement des événements dans certains cas, il doit donc exister une méthode pour éviter ou gérer cette situation.
1. Utiliser des objets événementiels
Dans la fonction de traitement d'événements, le navigateur transmettra par défaut un événement d'objet événement à la fonction de traitement d'événements. Grâce à cet objet événement, nous pouvons obtenir avec précision l'élément sur lequel l'événement a été déclenché, le type d'événement et d'autres informations associées.
stopPropagation()
de l'objet événement pour empêcher le bouillonnement d'événement. Un exemple est le suivant : stopPropagation()
方法来阻止事件冒泡。示例如下:document.getElementById('child').addEventListener('click', function(event) { event.stopPropagation(); // 阻止事件冒泡 console.log('child clicked'); }); document.getElementById('parent').addEventListener('click', function(event) { console.log('parent clicked'); });
在上述示例中,当点击id为"child"的子元素时,事件会被阻止冒泡,只触发子元素上的事件处理函数,而不会触发父元素上的事件处理函数。
preventDefault()
document.getElementById('link').addEventListener('click', function(event) { event.preventDefault(); // 阻止默认行为 console.log('link clicked'); });
Dans certains cas, le navigateur gérera les événements de certains éléments par défaut, comme un saut de page lors d'un clic sur la balise a. Nous pouvons utiliser la méthode preventDefault()
de l'objet événement pour empêcher le comportement par défaut de l'événement.
<ul id="list"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> </ul>
document.getElementById('list').addEventListener('click', function(event) { if (event.target.tagName === 'LI') { console.log('item clicked: ' + event.target.innerText); } });
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!