单次触发点击事件监听器

Single firing click event listener

我目前正在构建一个 JavaScript 工具,它接收一个地址并通过一系列函数运行它,这些函数输出一个布尔值来判断地址是否在地址范围内。该工具将从此输出中动态地将卡片添加到基于输出的页面。我目前的问题是,如果多次单击事件侦听器,它只会继续将卡片添加到页面。是否有一个事件侦听器将接收点击事件但仅在第一次触发事件时触发?如果不是,我是否最好只编写一个函数来删除触发的点击事件?我非常乐意包含项目中的代码,但似乎没有必要。

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(已停产)外,所有主流浏览器都支持此选项