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 相关文章推荐
双击滚屏-常用推荐
Nov 29 Javascript
jQuery validate 中文API 附validate.js中文api手册
Jul 31 Javascript
js实现的折叠导航示例
Nov 29 Javascript
使用js Math.random()函数生成n到m间的随机数字
Oct 09 Javascript
JS上传组件FileUpload自定义模板的使用方法
May 10 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
Dec 20 Javascript
使用canvas进行图像编辑的实例
Aug 29 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 Javascript
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
webpack打包多页面的方法
Nov 30 Javascript
微信小程序实现的日期午别医生排班表功能示例
Jan 09 Javascript
优雅的使用javascript递归画一棵结构树示例代码
Sep 22 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 session有效期问题
2009/04/26 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
JS 判断代码全收集
2009/04/28 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
node.js基础知识小结
2018/02/26 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
js验证账户名是否重复
2020/05/26 Javascript
js实现双人五子棋小游戏
2020/05/28 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
详解Python的单元测试
2015/04/28 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
退休教师欢送会主持词
2014/03/31 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
公务员检讨书
2014/11/01 职场文书
复兴之路展览观后感
2015/06/02 职场文书
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js
Python实现抖音热搜定时爬取功能
2022/03/16 Python