for循环绑定事件
用for循环绑定事件有三种方式:
1:闭包
var divArr = document.getElementsByTagName('div');
for(var i=0;i<divArr.length;i++){
(function(i){
divArr[i].onclick = function(){
alert(i);
}
})(i);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.利用自定义属性值
var divArr = document.getElementsByTagName('div');
for(var i=0;i<divArr.length;i++){
divArr[i].index = i;
divArr[i].onclick = function(){
alert(this.index);
}
};
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3.利用ES6新特性,将var全局变量改为let
var divArr = document.getElementsByTagName('div');
for(let i=0;i<divArr.length;i++){
divArr[i].onclick = function(){
alert(i);
};
};
- 1
- 2
- 3
- 4
- 5
- 6
- 7