多个按钮通过for循环绑定点击事件出现错误的解决办法

有3个按钮,我们给每个按钮添加点击事件,希望每次点击时输出当前点击的是第几个按钮,但是目前不论点击哪个按钮,最终输出的都是4,代码如下:




    
    
    
    Document







 

 

错误分析

没有实现的原因是我们将单击方法定义在了for循环里面,而定义在for循环不能实现的原因是:

(1)因为onclick事件是先绑定再触发的。

(2)执行循环的时候,给每个都绑定了onclick,这个时候i还不全是3,但是到最后点击的时候,循环已经结束了,所以i的值就是循环结束之后的值。

 

 

修改思路

在循环外面封装点击事件,在循环里面调用点击事件,将变量i作为参数传递进来

 

修改后




    
    
    
    Document







 

你可能感兴趣的:(JS)