首页 > 解决方案 > 用户在一个时间范围内不能多次点击

问题描述

有没有一种简单的方法可以防止在一个时间范围内多次触发点击事件。

例如,用户只能在 2 秒后通过单击按钮来触发事件。

我可以通过使用setInterval和一个变量来跟踪时间来想出一个解决方案。但是有更好的方法吗?

标签: javascripttime

解决方案


如果您已经有了一个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
};

推荐阅读