JavaScript - 如何动态传递onclick事件传递特定值?

时间:2011-11-24 20:55:32

标签: javascript events

请您快速查看示例代码

http://jsfiddle.net/vXvs2/

我不知道它是否清楚,但它应该做的是显示创建事件时i的内容。相反,我认为它正在做的是在事件被触发时显示i的值。

我如何解决我的问题?

1 个答案:

答案 0 :(得分:6)

将循环的主体包裹在一个函数中,以创建一个闭包:

for(var i = 0; i < arr.length; i++){
    (function(i){ //i inside this function is a local var; not affected by i++
        arr[i].onclick = function(){
            alert(i);
            return false;
        };
    })(i); //Invoke the function, pass variable i 
}

小提琴:http://jsfiddle.net/vXvs2/4/