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 相关文章推荐
实现png图片和png背景透明(支持多浏览器)的方法
Sep 08 Javascript
最新28个很棒的jQuery 教程
May 28 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
Jan 04 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
jquery跟随屏幕滚动效果的实现代码
Apr 13 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
JS中精巧的自动柯里化实现方法
Dec 12 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
微信小程序自定义多选事件的实现代码
May 17 Javascript
JavaScript中变量提升与函数提升经典实例分析
Jul 26 Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 Javascript
如何实现vue的tree组件
Dec 03 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
php上传文件问题汇总
2015/01/30 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
jquery中this的使用说明
2010/09/06 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
Python批量按比例缩小图片脚本分享
2015/05/21 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
详解python的几种标准输出重定向方式
2016/08/15 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
北京奥运会口号
2014/06/21 职场文书
党员批评与自我批评材料
2014/10/14 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
科普 | 业余无线电知识-波段篇
2022/02/18 无线电
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫