gpt4 book ai didi

Javascript:我可以避免关闭吗?

转载 作者:行者123 更新时间:2023-12-02 20:08:48 24 4
gpt4 key购买 nike

我正在尝试制作一个网站。我将 addEventListener 添加到调用更多次的函数中的更多元素:

    idImag = 0;

function function1()
{
//do something
function2()
}

function function2()
{
//do something
document.getElementById("holder" + idImag).addEventListener('mouseover',function(){
idImag++;
alert('It works');
}

function3(event)
{
alert(3);
}

function1();
function1();

<div id="holder0">Dog</div>
<div id="holder1">Chicken</div>
<div id="holder2">Cow</div>

但是有一个问题:只有最后一个元素获得事件监听器...其他元素将鼠标放在它上面后什么也不做。然后我用谷歌搜索了一下,发现了关于闭包以及即使在函数返回后如何保留变量的信息...我并不理解所有内容,但我只是想了解如何将事件监听器放入 function2 中。你能帮助我吗?也许您注意到了:我是新手。抱歉,如果这个问题很愚蠢或者没有意义。如果您需要更多详细信息,我将放置我的整个代码,但它有罗马尼亚语的变量和注释,所以我不确定您是否能理解它。抱歉我的英语不好,提前谢谢你。

最佳答案

为什么不使用 for 循环?

function function3 (event) {
alert(3);
}

for (var idImag = 0; i< numberOfHolders; i++) {
//do something1
//do something2
document.getElementById("holder" + idImag).addEventListener('mouseover',function3);
}

关于Javascript:我可以避免关闭吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7163713/

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