首页 web前端 js教程 JavaScript在for循环中绑定事件解决事件参数不同的情况_javascript技巧

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

May 16, 2016 pm 05:03 PM
for循环 绑定事件

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

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

代码:

复制代码 代码如下:

for(var i=0;ibtns[i].onclick=(function(i){
return function(){alert(i)}
})(i)
}

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

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

但是用闭包处理的话,i会成为函数的局部变量
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么用php实现求100以内的奇数 怎么用php实现求100以内的奇数 Dec 23, 2022 pm 06:54 PM

实现步骤:1、使用for语句控制范围来遍历1~100的数字,语法“for ($i = 1; $i

PHP中for循环的执行顺序是什么 PHP中for循环的执行顺序是什么 Sep 22, 2021 pm 06:24 PM

执行顺序:1、执行“初始化表达式”;2、执行“条件判断表达式”,如果表达式的值为真,则执行“循环体”,否则结束循环;3、执行完循环体后,执行“变量更新表达式”;4、变量更新后,进入下一次循环,直到条件判断值为假,结束循环。

JS循环学习:for循环语句的使用(示例详解) JS循环学习:for循环语句的使用(示例详解) Aug 03, 2022 pm 06:45 PM

在之前的文章《JS循环学习:while循环语句的使用(示例详解)​》中,我们简单了解了 while 循环和 do while 循环,而今天再来介绍一种循环——for 循环语句,希望对大家有所帮助!

mysql有for循环吗 mysql有for循环吗 Mar 30, 2023 pm 08:26 PM

mysql没有for循环,MySQL是不支持for循环语句的,只支持WHILE、REPEAT和LOOP三种循环语句,MySQL提供循环语句,允许您根据条件重复执行一个SQL代码块。

如何使用Python中的for循环 如何使用Python中的for循环 Oct 25, 2023 pm 12:18 PM

如何使用Python中的for循环Python是一种简单易用的编程语言,其中的for循环是非常常用的工具之一。通过使用for循环,我们可以循环遍历一系列的数据,进行有效的处理和操作,提高代码的效率。下面,我将通过具体的代码示例,介绍如何使用Python中的for循环。基本的for循环语法在Python中,for循环的语法如下:for变量in可迭代对象:

如何使用C语言中的for循环将数组中的偶数和奇数分开? 如何使用C语言中的for循环将数组中的偶数和奇数分开? Aug 25, 2023 pm 03:09 PM

数组是一组以单一名称存储的相关数据项。例如intStudent[30];//student是一个数组名,包含单个变量名的30个数据项集合数组的操作搜索-用于查找特定元素是否存在排序-它有助于排列数组中的元素按升序或降序排列。遍历-它按顺序处理数组中的每个元素。插入-它有助于在数组中插入元素。删除-它有助于删除数组中的元素。数组中的元素。在数组中查找偶数的逻辑如下-for(i=0;i<size;i++){  if(a[i]%2==0){ 

python for循环的用法是什么 python for循环的用法是什么 Sep 26, 2023 am 10:34 AM

python for循环的用法是遍历一个可迭代对象、遍历其他类型的可迭代对象、嵌套循环和循环控制语句。详细介绍:1、遍历一个可迭代对象,变量是在每次迭代中用于存储当前元素的名称,可迭代对象是要遍历的对象;2、遍历其他类型的可迭代对象,在每次迭代中,变量char将依次存储字符串message中的每个字符,并通过print函数打印出来等等。

使用jQuery实现select元素的值改变事件绑定 使用jQuery实现select元素的值改变事件绑定 Feb 24, 2024 am 08:51 AM

jQuery是一种广泛使用的JavaScript库,用于简化在网页上进行DOM操作、事件处理、动画效果等操作。在网页开发中,经常需要对页面元素进行事件绑定,而绑定select选项的改变事件是常见的需求之一。本文将介绍如何使用jQuery来绑定select选项改变事件,并提供具体的代码示例。1.引入jQuery库首先,在HTML文档的

See all articles