Maison > interface Web > js tutoriel > Comment puis-je empêcher la propagation des événements en JavaScript ?

Comment puis-je empêcher la propagation des événements en JavaScript ?

Patricia Arquette
Libérer: 2024-12-06 05:53:09
original
413 Les gens l'ont consulté

How Can I Prevent Event Propagation in JavaScript?

Empêcher la propagation d'événements à l'aide de l'attribut Onclick en ligne

Considérez le code HTML suivant :

<div onclick="alert('you clicked the header')">
Copier après la connexion

Dans ce scénario, lorsque l'utilisateur clique sur l'élément span, l'événement click du span et l'événement click du div sont déclenchés. C'est ce qu'on appelle la propagation d'événements.

Pour empêcher l'événement click du div de se déclencher lorsque l'utilisateur clique sur l'étendue, des techniques de propagation d'événements en ligne peuvent être utilisées :

Méthode stopPropagation :

La méthode la plus largement prise en charge consiste à utiliser la méthode event.stopPropagation() dans l'attribut onclick du span. Voici comment l'implémenter :

<span onclick="event.stopPropagation(); alert('you clicked inside the header');">something inside the header</span>
Copier après la connexion

En appelant stopPropagation(), la propagation de l'événement click est arrêtée au niveau de l'élément span, l'empêchant d'atteindre le div parent.

Compatibilité IE :

Pour Internet Explorer, l'alternative suivante peut être utilisé :

<span onclick="window.event.cancelBubble = true; alert('you clicked inside the header');">something inside the header</span>
Copier après la connexion

Ce code obtient le même résultat que stopPropagation() mais est spécifiquement adapté aux navigateurs IE.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal