javascript - 单次触发单击事件监听器

标签 javascript dom-events

我目前正在构建一个 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/

相关文章:

javascript - 如何在 React 中使用 forwardRef()?

javascript - jQuery 可排序图像可放置在单独的容器上

javascript - Javascript 事件监听器是否需要在删除它们所附加的元素之前被删除?

javascript - 窗口始终在最上面。如何创建这样一个?

javascript - JS 和 Prototype : mouseover influencing overlying element, 为什么?

php - Javascript 多值调用

javascript - jQuery、函数 .html 正确语法

javascript - 请求中不支持的媒体类型 "text/plain;charset=UTF-8"。 NextJS API 错误与 Django Rest Framework

javascript - 当 JavaScript 计时器到期时,如何将用户重定向到新页面?

javascript - 如何通过JSP获取javascript的返回值?