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 相关文章推荐
用正则表达式 动态创建/增加css style script 兼容IE firefox
Mar 10 Javascript
js onpropertychange输入框 事件获取属性
Mar 26 Javascript
jquery插件之easing 动态菜单
Aug 21 Javascript
JsDom 编程小结
Aug 09 Javascript
解析John Resig Simple JavaScript Inheritance代码
Dec 03 Javascript
JavaScript中的ArrayBuffer详细介绍
Dec 08 Javascript
javascript限制文本框输入值类型的方法
May 07 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
微信小程序WebSocket实现聊天对话功能
Jul 06 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
详解Nuxt内导航栏的两种实现方式
Apr 16 Javascript
小程序实现侧滑删除功能
Jun 25 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
来自PHP.NET的入门教程
2006/10/09 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
JavaScript prototype对象的属性说明
2010/03/13 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
浅谈JS闭包中的循环绑定处理程序
2014/11/09 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Django URL传递参数的方法总结
2016/08/28 Python
Python post请求实现代码实例
2020/02/28 Python
Python-openCV开运算实例
2020/07/05 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
百联网上商城:i百联
2017/01/28 全球购物
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
《三顾茅庐》教学反思
2014/04/10 职场文书
篮球赛口号
2014/06/18 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
一年级语文教学随笔
2015/08/14 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
Mysql 设置boolean类型的操作
2021/06/04 MySQL