5

当我快速单击一个按钮时,我遇到了一些 jQuery 代码的问题。所以为了解决这个问题,我只需要允许用户每 2 秒左右点击一个按钮。如何使按钮每 2 秒(或我选择的任何时间)只能点击一次?

4

3 回答 3

13

假设您正在使用<button>or <input>

$('#yourButton').click(function(){
    var btn = $(this);
    btn.prop('disabled',true);
    window.setTimeout(function(){ 
        btn.prop('disabled',false);
    },2000);
});

jsFiddle 演示

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

于 2012-07-11T17:26:35.573 回答
1

让“click”处理程序向按钮添加一个类(可能是“clicked”),并启动一个计时器以在 2 秒后删除该类。如果处理程序看到“单击”已应用于按钮,则它什么也不做。

您也可以禁用该按钮;这可能会更好,因为它会给用户视觉指示按钮不会做任何事情。

于 2012-07-11T17:25:35.293 回答
1

单击时禁用按钮,并运行一个具有 2 秒超时的计时器,当按钮到期时重新启用该按钮。

于 2012-07-11T17:25:42.143 回答