如何限制jQuery中2次点击之间的间隔时间?
$('button').click(function(){
// do some stuff
}
第一次点击后,如何等待一秒钟,然后下一次点击将生效。感谢。
答案 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)
$("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)
}