Maison >interface Web >js tutoriel >JavaScript empêche la propagation d'événements. Exemple de compétences Sharing_Javascript

JavaScript empêche la propagation d'événements. Exemple de compétences Sharing_Javascript

WBOY
WBOYoriginal
2016-05-16 16:24:111055parcourir

J'ai déjà rencontré le problème du bouillonnement d'événements et j'ai effectué une recherche en ligne. La plupart des résultats étaient le même code, et ce n'était pas fluide lorsque je l'ai publié. En ce qui concerne FF, vous pouvez utiliser e.stopPropagation(); avec lequel je n'ai pas réussi. Cependant, j'ai trouvé que FF prend en charge la méthode d'écriture e.cancelBubble = true;, ce qui est réalisable après test. Postez simplement le code ici pour éviter de le chercher plus tard. La compatibilité des versions précédentes d'IE n'a pas encore été testée. Elle sera améliorée lors de son utilisation.

Copier le code Le code est le suivant :

//Annuler le bouillonnement de l'événement
fonction stopBulle(e) {
var evt = (e) ? e : window.event;//Compatible avec FF
evt.cancelBubble = true; //evt.stopPropagation(); Pour éviter les bulles dans FF, il est dit que vous pouvez utiliser
};

Aussi :

1. CancelBubble (attribut d'objet événement HTML DOM) : si le gestionnaire d'événements souhaite empêcher l'événement de se propager à l'objet conteneur, cet attribut doit être défini sur true.

2. stopPropagation (méthode objet HTML DOM Event) : l'événement de terminaison est ensuite propagé au cours de l'étape de capture, de traitement de la cible ou de bouillonnement du processus de propagation. Après avoir appelé cette méthode, le gestionnaire de l'événement sur ce nœud sera appelé et l'événement ne sera plus distribué aux autres nœuds.

3. PreventDefault (méthode objet HTML DOM Event) avertit le navigateur de ne pas effectuer l'action par défaut associée à l'événement.

Exemple :
Fonction stopBulle(e)

Si (e && e.stopPropagation)
e.stopPropagation()
        autre
               window.event.cancelBubble=true
}  

Mettez cette fonction stopBubble(e) dans la fonction que vous souhaitez empêcher le bouillonnement d'événement pour empêcher le bouillonnement d'événement

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