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 1.2.x 升? 1.3.x 注意事项
May 06 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
JavaScript中的View-Model使用介绍
Aug 11 Javascript
使用JavaScript 实现各种跨域的方法
May 08 Javascript
JavaScript实现简单的时钟实例代码
Nov 23 Javascript
Javascript递归打印Document层次关系实例分析
May 15 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
Apr 14 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
Apr 18 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
BootStrap前端框架使用方法详解
Feb 26 Javascript
vue自定义树状结构图的实现方法
Oct 18 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
python flask中动态URL规则详解
2019/11/22 Python
Pytorch释放显存占用方式
2020/01/13 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
电子商务个人自荐信
2013/12/12 职场文书
医学专业毕业生个人求职信
2013/12/25 职场文书
党支部综合考察材料
2014/05/19 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
七一建党节慰问信
2015/02/14 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android
flex弹性布局详解
2022/03/20 HTML / CSS
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript