Maison > interface Web > js tutoriel > Pourquoi la fonction JavaScript onclick se déclenche-t-elle prématurément lorsque des parenthèses sont utilisées ?

Pourquoi la fonction JavaScript onclick se déclenche-t-elle prématurément lorsque des parenthèses sont utilisées ?

Patricia Arquette
Libérer: 2024-10-22 07:10:03
original
762 Les gens l'ont consulté

Why Does JavaScript onclick Function Trigger Prematurely When Parentheses Are Used?

Fonction JavaScript onclick déclenchée prématurément

Lors de la création d'un lien avec une esthétique similaire à un mais destiné à exécuter une fonction lors d'un clic, les utilisateurs peuvent rencontrer un scénario dans lequel la fonction est appelée par erreur lors du chargement de la page. Cela empêche l'événement de clic souhaité de fonctionner correctement.

Le piège courant est l'utilisation inappropriée des parenthèses lors de l'attribution de l'attribut onclick. Au lieu de sentNode.onclick = secondFunction(), qui exécute immédiatement la fonction, la syntaxe correcte est sentNode.onclick = secondFunction. Ceci attribue une référence à la fonction, qui ne sera exécutée que lors de l'événement click.

<code class="javascript">function startFunction() {
  var sentNode = document.createElement('a');
  sentNode.setAttribute('href', "#");
  sentNode.setAttribute('onclick', secondFunction);
  //sentNode.onclick = secondFunction();
  sentNode.innerHTML = "Sent Items";
  //...
}</code>
Copier après la connexion

En omettant les parenthèses, l'événement onclick est correctement lié à une référence de fonction et non au résultat de son exécution, assurer le comportement prévu.

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