Heim >
Web-Frontend >
js-Tutorial >
Warum verweisen Event-Handler in JavaScript-Schleifen auf dieselben Variablen?
Warum verweisen Event-Handler in JavaScript-Schleifen auf dieselben Variablen?
DDD
Freigeben: 2024-11-05 20:36:02
Original
695 Leute haben es durchsucht
Arbeiten mit Event-Handlern in JavaScript-Schleifen: Verwendung von Abschlüssen für eine eindeutige Ereignisbehandlung
In JavaScript werden bei der Arbeit mit HTML-Code Event-Handler abgespielt eine entscheidende Rolle bei der Ermöglichung von Benutzerinteraktionen mit der Webseite. Eine häufige Herausforderung entsteht jedoch, wenn diese Ereignishandler innerhalb einer Schleife definiert werden, was zu unerwartetem Verhalten führt.
Um dieses Problem zu veranschaulichen, betrachten Sie den folgenden Codeausschnitt:
<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);
}
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn