
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 daz996 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,很明显的问题,还是得细心一些 |