Heim  >  Artikel  >  Web-Frontend  >  javascript循环变量注册dom事件 之强大的闭包_javascript技巧

javascript循环变量注册dom事件 之强大的闭包_javascript技巧

WBOY
WBOYOriginal
2016-05-16 18:20:061090Durchsuche

今天遇到了这个问题:

复制代码 代码如下:

//伪代码
for (var i=0; iaddEvent(obj[i], "click", func(i));
}

结果出现了问题,所有的dom都被注册了 i=n 的时候的事件,查了一些资料,说是在循环过程过this被改变,注册过的事件也被随之改变,找到了一种解决方法;

复制代码 代码如下:

for (var i=0; i(function (i){addEvent(obj[i], "click", function (){func(i);});})(i);
}

利用必包保持对变量的持久引用,很强大的说!
(如果您有更好的方法,请不吝赐教(*^__^*) 嘻嘻……)
Stellungnahme:
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