Maison  >  Article  >  interface Web  >  Pourquoi le gestionnaire onclick est-il déclenché lors du chargement de la page plutôt que lorsque vous cliquez sur le lien ?

Pourquoi le gestionnaire onclick est-il déclenché lors du chargement de la page plutôt que lorsque vous cliquez sur le lien ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-22 07:18:31263parcourir

Why Is the onclick Handler Triggered on Page Load Instead of When Clicking the Link?

Javascript : Invocation inattendue du gestionnaire onclick

Lorsque vous tentez de créer un lien qui ressemble à une balise d'ancrage mais exécute une fonction personnalisée, le onclick La fonction est invoquée immédiatement lors du chargement de la page, rendant les clics suivants inefficaces.

Explication :

Dans l'extrait de code fourni :

<code class="javascript">var sendNode = document.createElement('a');
sendNode.setAttribute('onclick', secondFunction());</code>

La ligne setAttribute('onclick', secondFunction()) est incorrect. Il exécute immédiatement la fonction secondFunction et attribue sa valeur de retour (généralement non définie) à l'attribut onclick. Cela conduit à l'invocation immédiate de la secondeFonction.

Solution :

Pour attribuer correctement la secondeFonction en tant que gestionnaire d'événements, la syntaxe correcte est :

<code class="javascript">var sendNode = document.createElement('a');
sendNode.setAttribute('onclick', secondFunction);</code>

Cela crée un écouteur d'événement qui attend un événement de clic sur l'élément avant d'invoquer la secondeFonction.

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