我目前正在构建一个 JavaScript 工具,它接收一个地址并通过一系列函数运行它,输出一个 bool 值,表明该地址是否在某个地址范围内。从此输出中,该工具将根据输出动态地将卡片添加到页面。我目前的问题是,如果事件监听器被单击多次,它只会继续将卡片添加到页面。是否有一个事件监听器将接收单击事件,但仅在第一次触发该事件时触发?如果不是,我最好只编写一个函数来在单击事件被触发后将其删除吗?我非常乐意包含项目中的代码,但似乎没有必要。
最佳答案
addEventListener可以选择只监听一次事件:
const button = document.querySelector("button");
button.addEventListener("click", onClick, {
once: true
});
function onClick() {
window.alert("Clicked!");
}
<button>Try clicking me twice</button>
除 Internet Explorer(已停产)之外的所有主要浏览器均支持此选项
关于javascript - 单次触发单击事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65709755/