关闭('点击')关闭后无法工作('点击')

时间:2014-06-18 22:36:16

标签: jquery

以下代码不起作用。它删除了禁用的类,但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);
     });
});

1 个答案:

答案 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);
     };
});

Example fiddle