您的位置:首页 > Web前端 > JavaScript

js用for循环为对象添加事件并传递参数

2013-11-29 15:17 176 查看
var objArr = getObjArr(id);
for(var i=0; i<objArr.length; i++){
var param=objArr.param
addEvent(objArr[i],'click',function(){
new Image().src = [u, "?t=", new Date().getTime(), "&p=", param].join('');
});
}

上述写法有问题,因为param会变成最后一个值,所以动态传递参数失败。相对于addEvent的object来说param变成了一个全局的变量。

修改后:

var objArr = getObjArr(id);
for(var i=0; i<objArr.length; i++){
var params=objArr.param
 addEvent(objArr[i],'click',(function(param){
return function(){
new Image().src = [u, "?t=", new Date().getTime(), "&p=", param].join('');
}
})(params));
}

绑定事件需要的参数,动态的传进来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: