Maison >
Article > interface Web > Pourquoi les gestionnaires d'événements dans les boucles JavaScript font-ils référence aux mêmes variables ?
Pourquoi les gestionnaires d'événements dans les boucles JavaScript font-ils référence aux mêmes variables ?
DDDoriginal
2024-11-05 20:36:02622parcourir
Travailler avec des gestionnaires d'événements dans des boucles JavaScript : utiliser des fermetures pour la gestion d'événements distincts
En JavaScript, lorsque vous travaillez avec du code HTML, les gestionnaires d'événements jouent un rôle crucial pour permettre les interactions des utilisateurs avec la page Web. Cependant, un défi courant survient lorsque ces gestionnaires d'événements sont définis dans une boucle, conduisant à un comportement inattendu.
Pour illustrer ce problème, considérons l'extrait de code suivant :
<code class="javascript">var blah = xmlres.getElementsByTagName('blah');
for(var i = 0; i < blah.length; i++) {
var td = document.createElement('td');
var select = document.createElement('select');
select.setAttribute("...", "...");
select.onchange = function() {
onStatusChanged(select, callid, anotherid);
};
td.appendChild(select);
}
Lors d'un changement est déclenché pour un événement
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