将值传递给eventListener函数

时间:2009-05-18 00:13:07

标签: javascript dom

for ( var i=0; i<thumbs.length; i++)
        {
            var num = i;
            Core.addEventListener(thumbs[i], "click",  Slide.thumbClick);
        }

在上面的代码中,我想将var num的值传递给thumbClick eventlistener。但我无法。如果我试图显示该值,它会给出一个未定义的值。 请帮忙

2 个答案:

答案 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);
        });
}