Je voulais mettre en place des événements de surveillance pour la boucle du bouton, mais seul le dernier bouton a répondu, ou une erreur a été signalée directement non défini. Voici la mauvaise écriture originale. Définissez une fonction anonyme pour le bouton num_jia onclick. la fonction i utilisera for à la fin de la boucle i, qui est 3, donc une erreur non définie sera signalée.
fonction a(){
for(var i=0;i<3;i++) {
num_jia[i] = document.getElementsByClassName('num-jia')[i];
num_jia[i].onclick = function () {
alert(num_jia[i])
}
}
}
J'ai vérifié en ligne et j'ai découvert que si vous souhaitez que les fonctions anonymes se souviennent de leur i respectif, il vous suffit d'utiliser Packages de fermetures appropriés (fonctions qui peuvent accéder à des données indépendantes), les améliorations suivantes sont présentées, veuillez apprendre par vous-même les connaissances spécifiques sur les fermetures.
fonction a(){
for(var i=0;i<3;i++) {
num_jia[i] = document. getElementsByClassName('num-jia')[i];
;(function (i2) {
num_jia[i2].onclick = function () {
alert( num_jia[i2])
}
})(i);
}
}
J'ai ensuite fait des recherches et découvert qu'il existe en fait une manière complète d'écrire une fonction célèbre, qui produit le même effet et est facile à comprendre.
fonction a(){
pour (var i=0;i<3;i++) {
num_jia[i] = document.getElementsByClassName('num-jia')[i];
doThings(i);
}
}
functiondoThings(i){
num_jia[i2].onclick= function () {
Alerte (num_jia [i2])}
}
Le contenu ci-dessus est le problème de la définition d'une fonction anonyme du JS sur la boucle de bouton, j'espère. cela peut aider tout le monde.
Recommandations associées :
Exemple d'implémentation de l'effet de changement de couleur du bouton JSCode d'implémentation du bouton JS pour ajouter de la musique de fondComment la fonction de clignotement du bouton JS est-elle implémentée ?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!