问题可能一句话描述不清楚,先给出代码,大家可以建立一个html文档运行一下:for(vari=0;i
2 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
尽量不要用闭包,闭包有性能问题.for(vari=0;i<10;i++){varb=document.createElement("button");b.index=i;b.textContent=i;b.onclick=function(){alert("thisis"+this.index);};document.body.appendChild(b);}
慕田峪4524236
TA贡献1875条经验 获得超5个赞
把i作为参数传过去就可以了:for(vari=0;i<10;i++){varb=document.createElement("button");b.textContent=i;b.onclick=(function(i){returnfunction(e){alert("thisis"+i);}})(i);document.body.appendChild(b);}
添加回答
举报
0/150
提交
取消