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));
}
绑定事件需要的参数,动态的传进来。
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));
}
绑定事件需要的参数,动态的传进来。
相关文章推荐
- js--dom--添加事件的时候传递参数的方法
- JS中使用for循环添加点击事件时,获取i值及参数异常原因及解决办法
- js 事件传递参数
- js 绑定时间后,浏览器会根据函数的参数传递一个事件
- JS 给多个对象添加事件
- Delphi动态事件深入分析(对象方法在调用的时候会传递一个隐含的Self指针,而该指针的值在EAX中。即左边第一个参数)
- AJAX传递对象或数组参数到SpringMVC的控制层(js到action)
- 通过js写html代码,添加事件传参数问题的解决方案
- js jquery 实现html页面之间参数传递(单一参数、对象参数传递)
- js动态给对象onclick事件赋值,动态传参数
- window.location.href传递js对象参数及获取参数
- as/flex 中添加事件addEventListener()时传递参数
- JS中定义对象方式二: 使用工厂方式创建对象(传递参数,及其改进方法)
- JS里for循环遍历对象的顺序---是按成员添加到对象中的先后顺序遍历的
- js标签里面添加onclick传递参数符号问题
- JS 添加到事件的多个对象
- js里面添加onclick传递参数符号问题
- js对象无法当成参数传递
- JS与JQuery点击事件传递参数
- js 方法传递对象参数