gpt4 book ai didi

javascript - 以编程方式将单个事件监听器添加到多个 div 会导致所有受影响的 div 上出现相同的函数

转载 作者:行者123 更新时间:2023-12-02 22:13:34 24 4
gpt4 key购买 nike

for (i = 0;i < cnt;i++) {
var thumb=thumbnails[i];
var id=thumb.id;
thumb.addEventListener('click', function () {
location.href="SomeWebPage.html?id=" + id;
}, false);
}

上面的代码会导致所有缩略图都具有相同的最后 id 分配,而不是基于各个 div 分配单独的缩略图 id id 的。我的期望是为每个缩略图 div 分配一个事件处理程序,该事件处理程序在定义的 location.href url 中引用其特定的 id。相反,所有事件处理程序都具有相同的 url,仅引用最后一个 dev id

最佳答案

使用let代替var

let id=thumb.id;

var 是全局的东西,这就是为什么只有最后一个值保留在箭头函数内存中

关于javascript - 以编程方式将单个事件监听器添加到多个 div 会导致所有受影响的 div 上出现相同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59470568/

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