我的理解是否对?
来源:4-8 选择练习
Aurora_Meteor
2020-03-14 19:04:12
我看老师在回答中说页面加载的时候for循环就执行完了,而绑定的弹出事件点击才触发。
这意思是说for循环进行的时候,不管i是几,只要相应的btns[i]没有触发onclick事件,相应的i就不会传入btns[i],这样也就导致所有的btns[i]都不会绑定上 触发onclick事件时执行alert(i)这个操作。
而当页面加载完的时候,所有的btns[i]都没有绑定上onclick事件,而for循环已经执行完毕了,这时i的值已经变为了3,然后在点击每个按钮的时候才会给相应的按钮绑定onclick事件,使它们触发onclick事件的时候执行alert(i)这个操作,而因为此时的i已经变为3且不会再改变,所以点击每个按钮弹出的都是3。
请问以上我的理解是否正确呢?
2回答
同学你好,第一个说法是对的,只是绑定了事件,没有触发的时候,事件函数中的内容是没有执行的,没有这个内容的。
祝学习愉快~
好帮手慕糖
2020-03-15
同学你好,理解的不准确哦。这里事件是于先绑定,后触发的。
在循环过程中给每个按钮绑定事件(所以每个btns[i]才能指定每个不同的元素,进行绑定事件),但是并没有触发,只有在点击的时候才会触发。
在触发的时候i已经是循环完之后的i值了。所以事件里面的alert(i),弹出的是执行完循环的i。
如果我的回答帮助了你,欢迎采纳,祝学习愉快~
相似问题