javascript循环变量注册dom事件 之强大的闭包


Posted in Javascript onSeptember 08, 2010

今天遇到了这个问题:

//伪代码 
for (var i=0; i<n; i++) { 
addEvent(obj[i], "click", func(i)); 
}

结果出现了问题,所有的dom都被注册了 i=n 的时候的事件,查了一些资料,说是在循环过程过this被改变,注册过的事件也被随之改变,找到了一种解决方法;
for (var i=0; i<n; i++) { 
(function (i){addEvent(obj[i], "click", function (){func(i);});})(i); 
}

利用必包保持对变量的持久引用,很强大的说!
(如果您有更好的方法,请不吝赐教(*^__^*) 嘻嘻……)
Javascript 相关文章推荐
Jquery插件之多图片异步上传
Oct 20 Javascript
javascript跨域刷新实现代码
Jan 01 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
jquery插件star-rating.js实现星级评分特效
Apr 15 Javascript
jQuery实现滚动切换的tab选项卡效果代码
Aug 26 Javascript
Bootstrap 粘页脚效果
Mar 28 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
Jun 28 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
Jul 03 Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 15 Javascript
js实现时分秒倒计时
Dec 03 Javascript
Javascript的一种模块模式
Sep 08 #Javascript
jQeury淡入淡出需要注意的问题
Sep 08 #Javascript
jQuery之浮动窗口实现代码(两种方法)
Sep 08 #Javascript
Jquery ThickBox插件使用心得(不建议使用)
Sep 08 #Javascript
jquery的Tooltip插件 qtip使用详细说明
Sep 08 #Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 #Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 #Javascript
You might like
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
JS前端笔试题分析
2016/12/19 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
python之yield表达式学习
2014/09/02 Python
在Python中操作字典之update()方法的使用
2015/05/22 Python
详解Python中的各种函数的使用
2015/05/24 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
使用python实现飞机大战游戏
2020/03/23 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
儿子婚宴答谢词
2014/01/09 职场文书
六十岁生日答谢词
2014/01/10 职场文书
学校春季防火方案
2014/06/08 职场文书
政风行风建设整改方案
2014/10/27 职场文书
大学生见习报告范文
2014/11/03 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis