注册 登录
编程论坛 JavaScript论坛

请教一个js中事件中变量的问题,望高手指点?

bloodbirdxu1 发布于 2011-12-09 21:51, 541 次点击
window.onload=function ()
    {
        var input=document.getElementsByTagName("input");
            for(var i=0;i<input.length;i++)
        {
           input[i].onclick=function ()
            {alert(i);}
        };
我建了三个input按钮,给它们加上onclick事件,现在想点击第一个按钮弹出1,点击第二个弹出2,点击第三个弹出3,但是随便点击哪一个都弹出3请问原因是什么?望高手指点.
1 回复
#2
javayang2011-12-10 13:46
window.onload=function (){
        var input=document.getElementsByTagName("input");
        for(var i=0;i<input.length;i++){
            function a(i){
                input[i].onclick=function(){
                    alert(i);
                    }
                }
            a(i);
        }
}
或:
window.onload=function (){
        var input=document.getElementsByTagName("input");
        for(var i=0;i<input.length;i++){
            (function(i){
                input[i].onclick=function (){
                    alert(i);
                }
            })(i)
        }
}
1