Heim Web-Frontend js-Tutorial JavaScript在for循环中绑定事件解决事件参数不同的情况_javascript技巧

JavaScript在for循环中绑定事件解决事件参数不同的情况_javascript技巧

May 16, 2016 pm 05:03 PM
for循环 Bindendes Ereignis

有时候要对响应一堆相似的事件,但是每个事件的参数都不同,一开始还以为挺简单的,用个for循环不就得了,结果发现,额,都是使用了最后一个参数。。。

上网查资料!!!结果大神说用闭包解决

代码:

复制代码 代码如下:

for(var i=0;ibtns[i].onclick=(function(i){
return function(){alert(i)}
})(i)
}

大概原因是直接用btns[i].onclick=function(){alert(i)}时,JavaScript引擎会先将for循环里的代码执行完,

当用户出发onclick事件时,JavaScript会寻找i,结果会找到运算完成之后的i,也就是10

但是用闭包处理的话,i会成为函数的局部变量
Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie man mit PHP ungerade Zahlen innerhalb von 100 findet Wie man mit PHP ungerade Zahlen innerhalb von 100 findet Dec 23, 2022 pm 06:54 PM

Wie man mit PHP ungerade Zahlen innerhalb von 100 findet

Was ist die Ausführungsreihenfolge der for-Schleife in PHP? Was ist die Ausführungsreihenfolge der for-Schleife in PHP? Sep 22, 2021 pm 06:24 PM

Was ist die Ausführungsreihenfolge der for-Schleife in PHP?

JS-Schleifenlernen: Verwendung von for-Schleifenanweisungen (detaillierte Beispiele) JS-Schleifenlernen: Verwendung von for-Schleifenanweisungen (detaillierte Beispiele) Aug 03, 2022 pm 06:45 PM

JS-Schleifenlernen: Verwendung von for-Schleifenanweisungen (detaillierte Beispiele)

So verwenden Sie eine for-Schleife in Python So verwenden Sie eine for-Schleife in Python Oct 25, 2023 pm 12:18 PM

So verwenden Sie eine for-Schleife in Python

Wie trenne ich gerade und ungerade Zahlen in einem Array mithilfe einer for-Schleife in der C-Sprache? Wie trenne ich gerade und ungerade Zahlen in einem Array mithilfe einer for-Schleife in der C-Sprache? Aug 25, 2023 pm 03:09 PM

Wie trenne ich gerade und ungerade Zahlen in einem Array mithilfe einer for-Schleife in der C-Sprache?

So verwenden Sie eine for-Schleife, um eine Flip-Operation in der Go-Sprache zu implementieren So verwenden Sie eine for-Schleife, um eine Flip-Operation in der Go-Sprache zu implementieren Mar 24, 2024 pm 02:15 PM

So verwenden Sie eine for-Schleife, um eine Flip-Operation in der Go-Sprache zu implementieren

Wie drucke ich einen Kalender für einen vom Benutzer ausgewählten Monat mithilfe einer for-Schleife in C? Wie drucke ich einen Kalender für einen vom Benutzer ausgewählten Monat mithilfe einer for-Schleife in C? Aug 28, 2023 pm 03:41 PM

Wie drucke ich einen Kalender für einen vom Benutzer ausgewählten Monat mithilfe einer for-Schleife in C?

Was ist die Verwendung von Python for-Schleife? Was ist die Verwendung von Python for-Schleife? Sep 26, 2023 am 10:34 AM

Was ist die Verwendung von Python for-Schleife?

See all articles