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 相关文章推荐
javascript实现uploadify上传格式以及个数限制
Nov 23 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
Nov 24 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
node安装--linux下的快速安装教程
Mar 21 Javascript
javascript  数组排序与对象排序的实例
Jul 17 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 Javascript
在vue中使用Autoprefixed的方法
Jul 27 Javascript
使用原生js编写一个简单的框选功能方法
May 13 Javascript
angularjs自定义过滤器demo示例
Aug 24 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
Mar 08 Javascript
JS实现canvas简单小画板功能
Jun 23 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
smarty中常用方法实例总结
2015/08/07 PHP
php 数据结构之链表队列
2017/10/17 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
PHP getName()函数讲解
2019/02/03 PHP
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
js设置鼠标悬停改变背景色实现详解
2019/06/26 Javascript
Python中matplotlib中文乱码解决办法
2017/05/12 Python
python机器学习库常用汇总
2017/11/15 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
Python3爬虫学习入门教程
2018/12/11 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
对Django url的几种使用方式详解
2019/08/06 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
python 常见的排序算法实现汇总
2020/08/21 Python
python文件排序的方法总结
2020/09/13 Python
python各种excel写入方式的速度对比
2020/11/10 Python
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
接待员岗位责任制
2014/02/10 职场文书
信息管理应届生求职信
2014/03/07 职场文书
社团活动总结范文
2014/04/26 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL