这是一组link,你会发现每点击一下,结果总是6。WHY? 这是javascript闭包特性所引起,想了解请google。
解决问题:使用代理方法
添加下面代码:
- function delegate(fn,params,obj){
- return function(){
- fn.call(obj||window,params);
- }
- }
再将 : alink.onclick = function(){alert(i)};
改为 :
var pFunc = function(i){alert(i)};
alink.onclick = delegate(pFunc,i,alink);
即可。