原文:js动态循环绑定事件的变量问题

在编写JS的时候我们经常会遇到要对一系列元素进行事件绑定,循环对元素的事件进行赋值,在这个过程中我们会遇到一个问题,那就每个元素事件运行的时候变量怎么都是相同的值。 这里涉及到变量的作用域的问题,可以用闭包来解决这个问题。 这里举个简单的列子来说明: lt ul id ulDemo gt lt li gt 数据 lt li gt lt li gt 数据 lt li gt lt li gt 数据 l ...

2014-08-29 14:42 0 3903 推荐指数:

查看详情

JS动态事件绑定问题

今天搞一个连环套的动态选项展示,需要给下拉框动态绑定事件,谁知绑定中出现问题,总是执行第一次绑定的时间而后续绑定事件没有被触发。   注意两个动态绑定,其实很简答的知识,绑定事件前要清除旧事件,因为js默认不覆盖,这些都是学过的,就是不出错get不到啊。   改为: ...

Thu Aug 30 18:00:00 CST 2018 0 1485
js循环绑定事件

首先看这段代码: 这段代码如果不仔细看的话会误以为三个按钮点击结果分别为0,1,2。但是运行结果却是3,3,3。 我们来分析一下代码执行过程:前三遍循环分别给按钮0,1,2绑定了alert(i)的事件,第四遍循环开始时i=3,不符合i<=2的条件 ...

Mon Aug 24 05:04:00 CST 2015 0 8132
js循环绑定事件

js循环绑定事件js中,用循环来为一个元素队列的元素绑定事件,是一个常见的问题。 通常进入误区的新人,都会理想当然地这么写代码: (假设元素队列为o,默认使用jQuery) //error method var o =$('.blockHead'); for(var i ...

Fri Aug 22 18:39:00 CST 2014 0 2796
js在for循环绑定事件

本来想着直接通过js代码来点击事件时让div的宽度变化然后写了如下的代码 但是无论如何点击都一下子显示完全部的宽度; 然后网上通过很久查找网上的资料改成如下: 就能够显示出我想要的效果了; 纵观这样的代码现象,才明白是因为闭包的问题,上图中的变量i直接引用了父函数中的i,所以在循环 ...

Tue Mar 21 03:54:00 CST 2017 0 2661
JS 循环绑定click事件

一、问题场景:    绑定事件有一个坑----总是绑定最后一个元素 二、解决: 1、第一种   第一种方法:编写一个function,在这个function中返回一个函数 :   其中.get(0)指的是将jQuery对象转为DOM对象。 ...

Fri Jul 31 23:33:00 CST 2020 0 618
js动态绑定click事件时function传参问题

今天碰到了这样一个问题,我在javascript中动态创建了一个button, 然后我想给改button添加click事件绑定的function想要传入一个变量参数, 一开始我想直接通过函数传参传进来,然而不知道为什么,click事件无法正常响应, 最后发现可以这么做,将需要传入的参数加入 ...

Sat Oct 22 23:31:00 CST 2016 0 8053
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM