Javascript利用closure循环绑定事件

来源:互联网 发布:浙江儿童dna数据库费用 编辑:程序博客网 时间:2024/05/17 22:36

Javascript,如何循环为一组控件绑定事件处理函数,同时还要传递参数? 例如我有100个button,要为每个button绑定类似的处理函数,唯一不同的是传递的参数与button的序号有关。

以下代码利用了javascript的closure特征,将参数作为函数的变量传进处理函数里面。

<html>
<body>
<form>
<input id="tt1" name="tt" type="button" value="click"  />
<input id="tt2" name="tt" type="button" value="click"  />
</form>
</body>
</html>

<script>

function tt(i){
  
this.clickFunc =function(){    
        
this.kk = i;
        alert(
this.kk);
    }

}


for (var i = 1; i <= 2; i++)
{
   
var aa = document.getElementById("tt" + i);
   
var kt = new tt(i);
   aa.onclick 
= kt.clickFunc;
}
 
</script>