闭包的单击事件实例以及解决方法

Posted oo5lll

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包的单击事件实例以及解决方法相关的知识,希望对你有一定的参考价值。

技术图片技术图片

写4个内容为a的li标签,要求加入一个单击事件,单击之后打印该“a”的索引,方法如图2,但打印出来的结果全是4。因为将console.log放入onclick事件中已发送到外部,形成了闭包,(此外部已是javascript标签之外)

技术图片

要求打印对应索引0 - 3.

方法如下

技术图片

将函数表达式写入立即执行函数中,立即执行的形参为j实参为循环值i,数组名和console.log值都由j替换,参考上一篇文章所说,这是唯一一种解决方法,即可解决,结果如下:

技术图片

 

以上是关于闭包的单击事件实例以及解决方法的主要内容,如果未能解决你的问题,请参考以下文章

双击和单击事件冲突解决方法

双击和单击事件冲突解决方法

派生类中事件绑定的事件处理函数是类实例方法使其能访问父类和派生类所有数据

iOS解决单击手势和UITableView的点击事件冲突

重点突破——如何快速识别并解决“闭包问题”?

如何解决ESXi/vCenter Server提示SSH事件的方法步骤