for ( var i=0; i<thumbs.length; i++)
{
var num = i;
Core.addEventListener(thumbs[i], "click", Slide.thumbClick);
}
在上面的代码中,我想将var num
的值传递给thumbClick
eventlistener。但我无法。如果我试图显示该值,它会给出一个未定义的值。
请帮忙
答案 0 :(得分:1)
不要记得,但你应该可以这样做:
Core.addEventListener(thumbs[i], "click", function() {
//...do stuff here
});
var num 应该仍可用于此匿名函数。
答案 1 :(得分:0)
一种方法是创建一个动态函数。
像这样的东西。 (我基于我使用其他基于ECMAScript的语言的经验,您可能需要仔细检查以确保其有效。)
for ( var i=0; i<thumbs.length; i++)
{
var num = i;
Core.addEventListener(thumbs[i], "click", new function(evt){
Slide.thumbClick(num);
});
}