原文:闭包循环问题--for循环只显示最后一个i的值

这段代码主要用来操作 个div,哪个div被点,然后弹出框提示第i个div被点 问题是:无论点哪个div,弹出框提示的始终都是第二个div被点了。 以上代码中遇到了一个使用闭包和循环时常见的问题,也就是说函数绑定之后,闭包抓取的变量被更新了。这意味着,每一个绑定的函数处理程序都会一直显示i最后的值 处理代码如下 加入一个即时函数,注意for var i i lt divs.length i 后面 ...

2017-02-24 15:37 0 4460 推荐指数:

查看详情

浅谈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循环里onclick事件不能捕捉实时i问题

问题描述 我们都知道,如果我们对于一组元素(相同的标签)同时进行onclick事件处理的时候(在需要获取到索引的时候),一般是写一个for循环,但是onclick是一个异步调用的,所以会带来一个问题,当我们触发这个事件的时候,我们能获取的i是for完整执行完后i,而不能获取到代码顺序里i ...

Wed Sep 27 03:54:00 CST 2017 0 1802
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