gpt4 book ai didi

javascript - Dojo:删除所有元素监听器或具有单例监听器

转载 作者:行者123 更新时间:2023-12-03 09:33:49 26 4
gpt4 key购买 nike

想象一下,我们每 5 秒刷新一次页面并重建项目列表。重建列表后,我们希望为每个项目分配一个事件监听器:

refreshContent: function() {
array.forEach(items, function(item) {
on(item, 'click', function() {
// do something
});
});
}

问题是某些项目已经有事件监听器并出现重复。

有什么方法可以清除该项目的所有先前监听器或拥有单个监听器吗?

最佳答案

您需要跟踪附加的事件,然后才能分离它们:

refreshContent: function() {
if(handles) {
//clean up old handle
array.forEach(handles, function(handle) {
handle.remove();
});
}
//save all handles in this variable
handles = [];
array.forEach(items, function(item) {
handles.push(on(item, 'click', function() {
// do something
}));
});
}

关于javascript - Dojo:删除所有元素监听器或具有单例监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31400590/

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