以下代码不起作用。它删除了禁用的类,但div不能再次单击。我的意思是功能只能工作一次。
$(document).ready(function(){
$('div.downloadbutton').on('click', function(e) {
$('div.downloadbutton').off('click');
$('div.downloadbutton').not(this).addClass('disabled', {duration:500});
setTimeout(function(){
$('div.downloadbutton').on('click');
$('div.downloadbutton').not(this).removeClass('disabled', {duration:500});
}, 3000);
});
});
答案 0 :(得分:2)
尝试使用可以控制逻辑的状态变量,而不是绑定/解除绑定事件处理程序。像这样:
var clickDisabled = false; // initial state; allow the click
$('div.downloadbutton').on('click', function(e) {
if (!clickDisabled) {
$('div.downloadbutton').not(this).addClass('disabled', { duration:500 });
clickDisabled = true;
setTimeout(function() { clickDisabled = false; }, 3000);
};
});