完成后无法禁用引导按钮

san*_*non 3 javascript twitter-bootstrap

这很简单:在元素el上调用bootstrap按钮('complete')之后,

el.attr('disabled', 'disabled');? 
Run Code Online (Sandbox Code Playgroud)

el.addClass('disabled');? 
Run Code Online (Sandbox Code Playgroud)

没有效果

这是jsfiddle http://jsfiddle.net/D2RLR/2732/

这就是我的期望(jsfiddle与'loading'合作):http://jsfiddle.net/xgKZd/

She*_*row 5

它似乎只是一个计时问题:如果你在设置disabled类和属性之前"等待" ,它的工作原理:Demo(jsfiddle)

该插件使用超时0(检查源以获取更多信息)但似乎"花费"更多时间.只需添加一些延迟或自己做按钮效果,以便您可以控制操作的顺序.

setTimeout(function() { $('#bton').button('complete'); }, 2000);

setTimeout(function() { $('#bton').attr('disabled', 'disabled').addClass('disabled'); }, 4000);
Run Code Online (Sandbox Code Playgroud)


Joe*_*ill 5

我遇到了同样的问题,想要分享另一种解决方案.您可以更改加载文本数据atrribute值.所以如果你有一个按钮:

<button id='myButton' data-loading-text="Loading..." type="submit">Save</button>

而你最初做的事情,并希望显示"正在加载..."消息

$('#myButton').button('loading');
Run Code Online (Sandbox Code Playgroud)

然后当你完成所有工作后,你可以这样做:

$('#myButton').data('loading-text','Done!').button('loading');
Run Code Online (Sandbox Code Playgroud)