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 相关文章推荐
use jscript Create a SQL Server database
Jun 16 Javascript
DIV菜单层实现代码
Nov 19 Javascript
js中的异常处理try...catch使用介绍
Sep 21 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
Nov 18 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
Feb 04 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
Sep 04 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
Sep 09 Javascript
利用JS轻松实现获取表单数据
Dec 06 Javascript
微信小程序功能之全屏滚动效果的实现代码
Nov 22 Javascript
layui表格内容溢出的解决方法
Sep 06 Javascript
VUE中的v-if与v-show区别介绍
Mar 13 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
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
基于python实现学生管理系统
2018/10/17 Python
实例介绍Python中整型
2019/02/11 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
视光学专业毕业生推荐信
2013/10/28 职场文书
医学专业大学生求职信
2014/07/12 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书