【发布时间】:2022-01-14 14:38:17
【问题描述】:
我有一个添加了相同事件侦听器的项数组,我需要从数组中删除一个特定项,但我想保留事件侦听器。
当然我可以单独添加,但我想知道是否有简单的方法。
Here is a pen to show that. 应该在一段时间后从按钮上移除焦点的功能不会在第三个按钮上执行。
为了更清楚,这里是 JavaScript:
const buttons = [...document.querySelectorAll(".button")];
let dropButton;
for (let i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", function () {
setTimeout(() => { buttons[i].blur(); }, 500);
});
if(buttons[i].classList.contains("drop")) {
dropButton = buttons.splice(i, 1);
i--;
}
}
感谢您的帮助:)
【问题讨论】:
-
那么第三个按钮已经不在
buttons数组里面了,你有没有考虑在事件函数里面使用this来实现模糊? -
不,我没有。谢谢!
标签: javascript arrays event-listener