暂时禁用单击事件

时间:2013-01-22 08:36:53

标签: jquery

我希望在另一个事件发生时暂停两个按钮上的点击事件,然后重新启用它。 .off方法可以阻止它,但是使用.on后无法再次使用按钮上的click事件。

$('#button-block-1').click(function () {
    $('#block-1, #block-1-expansion-button').stop().fadeToggle('slow');
    if ($('#block-1, #block-1-expansion-button').is(':visible')) {$('#block-2').fadeOut('slow')}
});
$('#button-block-2').click(function () {
    $('#block-2').stop().fadeToggle('slow');
    if ($('#block-2').is(':visible')) {$('#block-1, #block-1-expansion-button').fadeOut('slow')}
});

$('#block-1-expansion-button').toggle(function () {
    $('#body-wrapper').animate({
        'top': '20px'
    }, 450);
    $('#button-block-1, #button-block-2').off('click');
    },
    function () {
    $('#body-wrapper').animate({
        'top': '0'
    }, 450);
    $('#button-block-1, #button-block-2').on('click');
});

JsFiddle example

1 个答案:

答案 0 :(得分:5)

您应该使用prop()代替:

$('#button-block-1, #button-block-2').prop('disabled',true);//disabled buttons
$('#button-block-1, #button-block-2').prop('disabled',false);//enabled buttons