gpt4 book ai didi

循环内的 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-28 13:37:25 25 4
gpt4 key购买 nike

有人知道为什么这不能按预期工作吗?仅在页面加载时触发警报。

var div = document.querySelectorAll('.div'); // NodeList of all instances of '.div'

var eventFunction = function() {
alert('ggdf');
};


for(var i = 0; i < div.length; i++) { // Begin '.div' NodeList loop

div[i].addEventListener('click', eventFunction(), false); // Click function on all instances of '.div'

} // End '.div' NodeList loop

最佳答案

您在将函数传递给 eventListener 函数时执行该函数,而是使用:

for(var i = 0; i < div.length; i++) {  
div[i].addEventListener('click', eventFunction, false); //notice no ()
}

函数可以像其他变量一样作为参数传递,但是当你在函数后面加上 () 传递它们时,你调用函数并且函数返回的对象/值将作为论证。

此外,除非您向所有 div 添加了类 div ,否则我认为您想要使用标签选择器:

var div = document.querySelectorAll('div'); 

JS fiddle : http://jsfiddle.net/rG3AC/1/

关于循环内的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20430559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com