非常に簡単です。要素elでbootstrapbutton('complete')を呼び出した後、
el.attr('disabled', 'disabled');
と
el.addClass('disabled');
効果はありません
これがjsfiddlehttp : //jsfiddle.net/D2RLR/2732/です
これは私が期待していることです(そのjsfiddleは「loading」で動作します):http://jsfiddle.net/xgKZd/
非常に簡単です。要素elでbootstrapbutton('complete')を呼び出した後、
el.attr('disabled', 'disabled');
と
el.addClass('disabled');
効果はありません
これがjsfiddlehttp : //jsfiddle.net/D2RLR/2732/です
これは私が期待していることです(そのjsfiddleは「loading」で動作します):http://jsfiddle.net/xgKZd/
私はこれと同じ問題を抱えていて、別の解決策を共有したいと思いました。読み込みテキストデータの属性値を変更できます。したがって、ボタンがある場合:
<button id='myButton' data-loading-text="Loading..." type="submit">Save</button>
そして、最初に何かをして、「読み込み中...」というメッセージを表示したい
$('#myButton').button('loading');
次に、すべてが完了したら、次のようなことを行うことができます。
$('#myButton').data('loading-text','Done!').button('loading');
単なるタイミングの問題のようです:disabledクラスと属性を設定する前に「待機」すると、機能します:デモ(jsfiddle)
プラグインは 0 のタイムアウトを使用します (詳細についてはソースを確認してください) が、「時間がかかる」ようです。アクションの順序を制御できるように、遅延を追加するか、ボタンの効果を自分で行うだけです。
setTimeout(function() { $('#bton').button('complete'); }, 2000);
setTimeout(function() { $('#bton').attr('disabled', 'disabled').addClass('disabled'); }, 4000);
@Sherbrowは正しいですが、ボタンを無効にするために2秒待つ必要はありません。.buttonの setState メソッドは setTimeout (チェックアウトソース コード) を使用してクラスとジャグリングしているため、同様の操作を行う必要があります。
var $btn = $('#btn');
$btn.button('complete');
setTimeout(function(){
$btn.attr('disabled', 'disabled').addClass('disabled');
}, 0);