Maison > interface Web > js tutoriel > 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
Libérer: 2024-10-22 07:18:31
original
357 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal