Maison >interface Web >js tutoriel >Comment arrêter la propagation des événements dans jQuery pour empêcher les gestionnaires d'événements parents de se déclencher ?

Comment arrêter la propagation des événements dans jQuery pour empêcher les gestionnaires d'événements parents de se déclencher ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 11:46:01841parcourir

How to Stop Event Propagation in jQuery to Prevent Parent Event Handlers from Firing?

Empêcher la propagation des gestionnaires d'événements parents

Considérons une arborescence de divs, où cliquer sur un div parent rend ses enfants invisibles. Cependant, cliquer sur un div enfant déclenche également l'événement de clic du parent. Pour résoudre ce problème, nous avons besoin d'un moyen d'empêcher la propagation des événements dans l'arborescence.

Une approche efficace utilisant jQuery consiste à ajouter un gestionnaire de clics aux éléments enfants qui arrête spécifiquement la propagation des événements :

function handler(event) {
    event.stopPropagation();
    // additional code here
}

$('#a').add('#b').click(handler);

Dans ce code, la méthode stopPropagation() est utilisée pour empêcher l'événement de remonter jusqu'au div parent. Lorsqu'un clic se produit sur le div '#b', la fonction de gestionnaire est invoquée, empêchant l'événement d'atteindre le div '#a'. Par conséquent, l'événement click du parent n'est pas déclenché, préservant la visibilité du div '#c'.

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:
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