如何在提交按钮延迟后删除课程?

时间:2012-11-14 13:06:34

标签: jquery removeclass

我在提交按钮上加了一个延迟,并添加一个类,使按钮呈现灰色。

$(document).ready(function () {
    $('#buttonDelay').click(function() {
        var delay =  $(this);
        delay.addClass('inactive');
        delay.prop('disabled', true);
        setTimeout(function() {
            delay.prop('disabled', false);
        }, 8000).removeClass('inactive');                      
    });
});

现在我想删除“非活动”类,以便按钮恢复原始颜色。但上面的代码不起作用。有人有什么想法吗?

另请参阅:http://jsfiddle.net/wPaUv/9/

干杯, Kessi

2 个答案:

答案 0 :(得分:4)

removeClass是一个jQuery方法,你不能用setTimeout函数链接它。

$(document).ready(function () {
    $('#buttonDelay').click(function() {
        var delay =  $(this);
        delay.prop('disabled', true).addClass('inactive')
        setTimeout(function() {
            delay.prop('disabled', false).removeClass('inactive');
        }, 8000);
    });
});

http://jsfiddle.net/yphKm/

答案 1 :(得分:1)

$(document).ready(function () {
$('#buttonDelay').click(function() {
    var delay =  $(this);
    delay.addClass('inactive');
    delay.prop('disabled', true);
    setTimeout(function() {
        delay.prop('disabled', false).removeClass('inactive');
    }, 8000);                      
});
});

您刚刚将removeClass部分添加到了错误的行。