一旦用户点击按钮,如何让点击事件对用户不可点击几秒钟?
例如。
$('button').on('click',function(){
alert('you clicked');
}
每次都会发出警报。但我希望将该按钮设置为其他任何我已经分配了点击事件的东西,例如,如果用户在接下来的20秒内再次点击它不应该工作,并且在20秒后按钮应该是可点击的,如果用户在20秒后点击它再次发出警报。
答案 0 :(得分:2)
$('button').on('click',function(){
alert('you clicked');
$(this).prop("disabled", true);
setTimeout( function(){$(this).prop("disabled", false);},20000 );
}
答案 1 :(得分:1)
未经测试但是:
var isClickable = true;
$('button').on('click',function(){
//Exit if not clickable
if(!isClickable)
return false;
//Set not clickable
isClickable = false;
//And finally plan to reset clickable in 20 seconds
setTimeout(function(){isClickable=true;},20000);
//Then, your code
alert('you have just clicked');
}
答案 2 :(得分:1)
$('button').on('click', function(){
var _$this = $(this);
if(!_$this.data('blocked')) {
alert('you clicked');
_$this.data('blocked', true);
setTimeout(function() {
_$this.data('blocked', false);
}, 5000); // in miliseconds
}
});
答案 3 :(得分:0)
你可以试试这个
var seconds = 5; //seconds to disable a button
$('#yourbutton').click(function(){ //yourbutton is the id of button
var btn = $(this);
btn.prop('disabled', true); //disables the buttons
setTimeout(function(){ //renable the button after seconds specified
btn.prop('disabled', false);
}, seconds*1000);
});