J'ai déjà rencontré le problème des événements bouillonnants, alors j'ai cherché en ligne, et la plupart d'entre eux étaient le même code, et ce n'était pas très fluide de l'utiliser. En ce qui concerne FF, vous pouvez utiliser e.Stoppropagation (); , et d'une manière ou d'une autre, je n'ai pas réussi. Cependant, j'ai constaté que FF prend en charge la méthode d'écriture de e.cancelbubble = true;, ce qui est possible après les tests. Publiez simplement le code ici afin d'éviter de rechercher partout à l'avenir. La compatibilité des versions IE précédentes n'a pas encore été testée, donc je l'améliorerai lorsque je l'utilise.
La copie de code est la suivante:
// Annuler la bulle d'événement
fonction stopbubble (e) {
var evt = (e)? e: window.event; // compatible avec ff
evt.cancelbubble = true; //evt.stoppropagation (); Pour empêcher les bulles sous FF, il est censé être utile
};
Autre:
1. AnnulerBubble (propriété HTML DOM Événement de l'événement): Si la poignée de l'événement souhaite empêcher l'événement de se propager à l'objet inclusif, la propriété doit être définie sur true.
2. StopPropagation (méthode d'objet de l'événement HTML DOM): L'événement de terminaison se propage davantage pendant la capture, le traitement de la cible ou l'étape de bulle du processus de propagation. Après avoir appelé cette méthode, le gestionnaire du nœud qui gère l'événement sera appelé et l'événement ne sera plus envoyé à d'autres nœuds.
3. PremperDefault (méthode HTML DOM Événement de l'événement) informe le navigateur de ne pas effectuer des actions par défaut associées aux événements.
exemple:
Fonction Stopbubble (E)
{
if (e && e.stoppropagation)
e.stoppropagation ()
autre
window.event.cancelbubble = true
}
Mettez cette fonction Stopbubble (E) dans la fonction que vous souhaitez empêcher l'événement de bouillonner.