2

送信ボタンに遅延を設定し、ボタンを灰色にするクラスを追加しました。

$(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/

乾杯、ケシ

4

2 に答える 2

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/

于 2012-11-14T13:08:37.257 に答える
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パーツを追加しました。

于 2012-11-14T13:10:06.070 に答える