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 相关文章推荐
Extjs EditorGridPanel中ComboBox列的显示问题
Jul 04 Javascript
PHP 数组current和next用法分享
Mar 05 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
vue-loader教程介绍
Jun 14 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
Jul 26 Javascript
JavaScript设计模式之观察者模式实例详解
Jan 16 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
Feb 11 Javascript
JavaScript提升机制Hoisting详解
Oct 23 Javascript
vue ajax 拦截原理与实现方法示例
Nov 29 Javascript
通过实例了解Javascript柯里化流程
Mar 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
用PHP制作的意见反馈表源码
2007/03/11 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
多广告投放代码 推荐
2006/11/13 Javascript
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
express框架下使用session的方法
2019/07/31 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
深入讲解Python编程中的字符串
2015/10/14 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python_LDA实现方法详解
2017/10/25 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
python 利用toapi库自动生成api
2020/10/19 Python
django使用channels实现通信的示例
2020/10/19 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
介绍一下内联、左联、右联
2013/12/31 面试题
数控技术应届生求职信
2013/11/13 职场文书
社区健康教育实施方案
2014/03/18 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP