原文:利用闭包解决for循环里onclick事件不能捕捉实时i值问题

问题描述 我们都知道,如果我们对于一组元素 相同的标签 同时进行onclick事件处理的时候 在需要获取到索引的时候 ,一般是写一个for循环,但是onclick是一个异步调用的,所以会带来一个问题,当我们触发这个事件的时候,我们能获取的i值是for完整执行完后i的值,而不能获取到代码顺序里i的值 首先看一段代码: 然后运行一下,当时作为一名天真的js初学者理所当然的认为分别点击不同的额按钮,会分 ...

2017-09-26 19:54 0 1802 推荐指数:

查看详情

浅谈js for循环输出i为同一问题闭包解决

1、最近开发中遇到一个问题,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5。 此时点击任意p弹出的都是5 出现原因:js事件处理器在线程空闲时间不会运行,导致最后运行的时候输出的都是i最后的,即:5 2、解决办法:使用闭包将变量i保护起来。 ...

Thu Nov 09 01:24:00 CST 2017 0 10218
闭包循环问题--for循环只显示最后一个i

这段代码主要用来操作2个div,哪个div被点,然后弹出框提示第i个div被点; 问题是:无论点哪个div,弹出框提示的始终都是第二个div被点了。 以上代码中遇到了一个使用闭包循环时常见的问题,也就是说函数绑定之后,闭包抓取的变量被更新了。这意味着,每一个绑定的函数处理程序 ...

Fri Feb 24 23:37:00 CST 2017 0 4460
JavaScript利用闭包循环绑定事件

   我们经常在做前端面试题的时候,会遇到循环绑定事件后,输出打印结果,很多人总是搞不清楚,今天借此机会跟大家梳理一下闭包相关作用。 1.首先我们举一个简单的例子。 html部分: <a href="#">首页</a> <a href="#">作品< ...

Mon Jun 27 21:32:00 CST 2016 0 4499
嵌套div的onClick事件问题

嵌套div的onClick事件问题我在下面的代码中的外层div中加了onClick事件,这样当鼠标点击这个div的时候就会跳转了。但是我在图片上加了一些其他效果,所以当鼠标点击中间的img时不能触发跳转事件。 <div class="box" onClick="window.open ...

Wed Aug 10 18:20:00 CST 2016 0 5132
JavaScript--------闭包 取for循环i 【转】

JavaScript闭包 取for循环i 【转】 2011-10-10 10:20 415人阅读 评论(1) 收藏 举报 有个网友问了个问题,如下的html,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5 ...

Fri Oct 05 07:04:00 CST 2012 5 25306
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM