如何限制jquery中2次点击之间的间隔时间?

时间:2011-09-29 09:35:26

标签: jquery

如何限制jQuery中2次点击之间的间隔时间?

$('button').click(function(){
  // do some stuff
}

第一次点击后,如何等待一秒钟,然后下一次点击将生效。感谢。

4 个答案:

答案 0 :(得分:2)

你可以这样做:

var clicked = false;
$('button').click(function(){
  // do some stuff
  if (!clicked){
      alert('true');
      clicked = true;
      setTimeout(function(){ clicked = false; }, 1000); 
  } else {
      return false;    
  }     
}

答案 1 :(得分:1)

防止双Ajax请求

$("button").click(function(evt){
    evt.preventDefault();

    // save button context
    var ctx = this;

    if (ctx.preventAjax === false)
    {
        ctx.preventAjax = true;

        // make a request
        $.ajax({
            ...
            complete: function() {
                delete ctx.preventAjax;
            }
        });
    }
});

不使用元素上的属性比使用它们更快并在每次单击时检查它们。

答案 2 :(得分:0)

您似乎正在寻找一种节流点击的方法。看看Ben Alman的jQuery throttle/debounce plugin

答案 3 :(得分:0)

首次点击后,您可以禁用该按钮,直到您的ajax完成。

$('button').click(function(){         
     $('button').attr('disabled',true); //disable the button
     // do some stuff
       $('button').attr('disabled',false);//enable button back .(most probably u need to write it in success event of ajax request)
 }