1. 程式人生 > >BootStrap 按鈕載入狀態改變

BootStrap 按鈕載入狀態改變

專案前端使用了bootstrap,想使用bootstrap的loading按鈕作為ajax請求資料時的等待。參考bootstrap最新教程:

 $(".btn").click(function(){
         $(this).button('loading').delay(1000).queue(function() {

           $(this).button('reset');
         });        
      });

按鈕第一次點選,如果出現錯誤後,重新執行

$btn.button('reset')
恢復按鈕的可用狀態。但是點選第二次時,會一直為loading....  處於disabled="disabled"  禁用狀態,按鈕不能恢復。
     後發現問題在queue()這個遍歷方法上,queue() 方法顯示或操作在匹配元素上執行的函式佇列,佇列執行在元素上非同步地呼叫動作序列,而不會終止程式執行,
當通過 .queue() 新增函式時,應當確保最終呼叫了 .dequeue(),這樣下一個排隊的函式才能執行。
     問題解決:將$(this).button('reset')  改為$(this).button('reset').dequeue();即可