La fonction Javascript onclick se déclenche mystérieusement lors du chargement de la page
L'écouteur d'événement onclick ne doit s'exécuter que lors du clic de l'élément associé. Cependant, dans certains scénarios, on peut observer que la fonction est appelée immédiatement lors du chargement de la page, ce qui rend l'événement click inefficace.
Ce problème survient généralement lors de l'attribution de l'attribut onclick comme setAttribute('onclick', secondFunction ()) au lieu de setAttribute('onclick', secondFunction). Le premier exécute directement la fonction, tandis que le second l'enregistre en tant que gestionnaire d'événements.
Utilisation correcte :
<code class="javascript">// Create a new element with an onclick event listener var sentNode = document.createElement('a'); sentNode.setAttribute('href', "#"); sentNode.setAttribute('onclick', secondFunction);</code>
Utilisation incorrecte :
<code class="javascript">// Immediately executes the function upon loading the page sentNode.setAttribute('onclick', secondFunction());</code>
La distinction clé se trouve entre parenthèses ajoutées à secondFunction. En les omettant, le code définit le gestionnaire d'événements comme une référence à la fonction, lui permettant d'être exécuté lorsque l'on clique sur l'élément. A l'inverse, inclure les parenthèses déclenche immédiatement l'exécution de la fonction.
En adhérant à cet usage correct, l'événement onclick fonctionnera comme prévu, en attendant le clic de l'élément associé pour être invoqué.
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!