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

Ash*_*nko 3 javascript events

您能否快速查看示例代码

http://jsfiddle.net/vXvs2/

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

我该如何解决我的问题?

Rob*_*b W 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 
}
Run Code Online (Sandbox Code Playgroud)

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