jQuery按钮点击每2秒只能触发一次

5

当我快速点击按钮时,我的一些jQuery代码出现问题。为了解决这个问题,我需要限制用户每隔2秒钟或更长时间才能点击一次按钮。如何让按钮每隔2秒(或任意时间)才能再次被点击?

3个回答

13
假设你正在使用<button><input>
$('#yourButton').click(function(){
    var btn = $(this);
    btn.prop('disabled',true);
    window.setTimeout(function(){ 
        btn.prop('disabled',false);
    },2000);
});

jsFiddle演示

2000是按钮重新启用之前的等待时间,以毫秒为单位。


1

让“click”处理程序向按钮添加一个类(可能是“clicked”),并启动一个计时器,在2秒后删除该类。如果处理程序发现“clicked”已经应用于按钮,则不执行任何操作。

您还可以禁用按钮;这可能更好,因为它会向用户提供视觉指示,表明按钮不会执行任何操作。


1

点击后禁用按钮,并运行一个2秒超时的计时器,在计时器到期时重新启用按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接