2

我想在另一个事件发生时禁用两个按钮上的单击事件一段时间,然后重新启用它。.off 方法可以阻止它,但是使用 after .on 不能使按钮上的点击事件再次可用。

$('#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 示例

4

1 回答 1

5

您应该prop()改用:

$('#button-block-1, #button-block-2').prop('disabled',true);//disabled buttons
$('#button-block-1, #button-block-2').prop('disabled',false);//enabled buttons
于 2013-01-22T08:39:26.817 回答