1
IamJ 2018-10-04 19:25:25 +08:00 via iPhone
闭包
|
2
des 2018-10-04 19:28:10 +08:00 via Android
for(let i=0; i<6; i++){
|
3
caomu 2018-10-04 19:29:47 +08:00 via Android
button.click 绑定应该放 for 外面吧。。。
|
4
jianzhihao1996 2018-10-04 19:30:27 +08:00 via Android
作用域问题
|
5
rabbbit 2018-10-04 19:39:53 +08:00
button.click(function(){
alert(button.attr("index")); }); ----> button.click( (function(button) { return function() { alert(button.attr("index")); } })(button) ); |
6
heimeil 2018-10-04 19:40:13 +08:00
你 click 里引用的 button 是上层的,每次循环都改变了,当你产生 click 事件的时候循环早就结束了,自然是引用到了循环最后一次产生的 button。
jQuery 方式: alert($(this).attr("index")); JS 原生方式: button.click(function() { alert(this.attr("index")); }.bind(button)); |
7
lraining OP 感谢 6 楼,是的,应该是用$(this)代替 button,很明显的问题,还是得细心一些
|