javascript - 用户在一个时间范围内不能多次点击
问题描述
有没有一种简单的方法可以防止在一个时间范围内多次触发点击事件。
例如,用户只能在 2 秒后通过单击按钮来触发事件。
我可以通过使用setInterval和一个变量来跟踪时间来想出一个解决方案。但是有更好的方法吗?
解决方案
如果您已经有了一个onclick
事件处理程序,则可以将行为集成到其中:
var lastValidClick = 0;
button.onclick = function(event) {
if (Date.now() - lastValidClick < 2000) {
event.preventDefault();
return false;
}
lastValidClick = Date.now();
// proceed to do whatever you need to do on click
};
推荐阅读
- python - 访问动态布局 id kivy
- azure - Azure 应用程序网关 Web 应用程序防火墙 CRS 设置 crs-setup.conf 的 PARNOIA LEVEL
- c - 为什么来自 C 标准工作组的文档受到密码保护?
- scala - Lagom/Play 应用程序中的 Main 类是什么?
- php - API 不允许文本
- javascript - 将大图像文件(约 70MB)从一个页面上传到另一个页面的最佳选择是什么?
- javascript - 如何修复:Google Actions 中的“找不到字段:消息 google.actions.v2.Input 中的 canvasContext”
- google-apps-script - GSCript:在列 M 和 N 中查找活动行并粘贴公式
- mysql - MySQL INSERT INTO ... 从目标表中选择多个值并将其用作插入同一目标表的一部分
- cmake - 如何提供支持静态链接的 cmake 包(又名 Config.cmake)