Maison  >  Article  >  interface Web  >  Pourquoi mon « addEventListener » se déclenche-t-il lors du chargement de la page au lieu d'un clic ?

Pourquoi mon « addEventListener » se déclenche-t-il lors du chargement de la page au lieu d'un clic ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 05:03:30493parcourir

Why Does My `addEventListener` Trigger on Page Load Instead of Click?

Événement addEventListener déclenché lors du chargement de la page

L'écouteur d'événement "addEventListener" est un outil puissant pour gérer les interactions des utilisateurs dans les pages Web. Cependant, un problème fréquemment rencontré est que l'événement se déclenche lors du chargement de la page plutôt que lorsque l'on clique sur l'élément ciblé.

Pour résoudre ce problème, la clé réside dans la fonction de rappel qui est transmise à la méthode "addEventListener". . Dans le script fourni, la ligne suivante pose problème :

el.addEventListener("click", alert("clicktrack"), false);

Lorsque cette ligne est exécutée, l'alerte est invoquée immédiatement, renvoyant undéfini. Pour transmettre correctement le code d'alerte à l'auditeur, il doit être enveloppé dans une fonction :

el.addEventListener("click", function() { alert("clicktrack"); }, false);

Ce faisant, le code d'alerte devient le corps d'une fonction anonyme qui sera exécutée lorsque l'événement est déclenché. Cela garantit que l'événement se déclenche uniquement lorsque l'utilisateur clique sur l'élément "myDiv", et non pendant le chargement de la page.

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