JavaScript在for循环中绑定事件解决事件参数不同的情况


Posted in Javascript onJanuary 20, 2014

有时候要对响应一堆相似的事件,但是每个事件的参数都不同,一开始还以为挺简单的,用个for循环不就得了,结果发现,额,都是使用了最后一个参数。。。

上网查资料!!!结果大神说用闭包解决

代码:

for(var i=0;i<10;i++){ 
btns[i].onclick=(function(i){ 
return function(){alert(i)} 
})(i) 
}

大概原因是直接用btns[i].onclick=function(){alert(i)}时,JavaScript引擎会先将for循环里的代码执行完,

当用户出发onclick事件时,JavaScript会寻找i,结果会找到运算完成之后的i,也就是10

但是用闭包处理的话,i会成为函数的局部变量

Javascript 相关文章推荐
如何判断元素是否为HTMLElement元素
Dec 06 Javascript
js对table的td进行相同内容合并示例详解
Dec 27 Javascript
jquery删除ID为sNews的tr元素的内容
Apr 10 Javascript
JavaScript数据结构与算法之集合(Set)
Jan 29 Javascript
js实现分割上传大文件
Mar 09 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
May 03 Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
基于vue2框架的机器人自动回复mini-project实例代码
Jun 13 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
Sep 14 Javascript
vue实现分页栏效果
Jun 28 Javascript
基于JavaScript实现留言板功能
Mar 16 Javascript
javascript break指定标签打破多层循环示例
Jan 20 #Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 #Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 #Javascript
通过复制Table生成word和excel的javascript代码
Jan 20 #Javascript
js取值中form.all和不加all的区别介绍
Jan 20 #Javascript
如何实现textarea里的不同文本显示不同颜色
Jan 20 #Javascript
引用外部脚本时script标签关闭的写法
Jan 20 #Javascript
You might like
PHP批量采集下载美女图片的实现代码
2013/06/03 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
JavaScript 题型问答有答案参考
2010/02/17 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
python中元类用法实例
2014/10/10 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
2019/05/16 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
python中time.ctime()实例用法
2021/02/03 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
财务部岗位职责
2013/11/19 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
运动会通讯稿50字
2014/01/30 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏