2013-03-26 91 views
0

我可以找出事件與如何找出一個jQuery的事件的結束

$._data(this, "events") 

末我基本上想要做的就是關閉按鈕,這樣的雙表單提交和雙重作用不能製作。當它是一個正常的提交按鈕我做如下:

<script type="text/javascript"> 
    $(function() { 
     $("button[js-hide=1]").click(function() { 
      $(this).prop("disabled", true); 
      $(this).html("<img src=\"loading5.gif\" />"); 
     }) 
    }) 
</script> 

這只是正常,禁用按鈕,直到PASE被再次加載加載GIF。

現在我想要簡單的jQuery按鈕完全相同的過程。它可以是一個簡單的AJAX請求或一個將一個文本字段複製到另一個字段的按鈕。事情是按鈕必須被禁用,直到行動完成。我知道我可以在函數的開始和結束處執行disable/enable事件,但這不是一個解決方案。因爲我想在一個框架中。

<script type="text/javascript"> 
    $(function() { 
     $("button[js-hide=0]").click(function() { 
      $(this).prop("disabled", true); 
      $(this).html("<img src=\"loading5.gif\" />"); 
      console.log($._data(this, "events"))'; 
     }) 
    }); 
</script> 
+1

讓我們不要爭吵有關表格; BartaTamás的觀點非常清楚。我已經編輯了這個問題來反映實際的JS。 – RobIII 2013-03-26 14:01:19

+1

@andyb現在好點? Tjeez ... – RobIII 2013-03-26 14:09:10

回答

3

你需要看看jQuery的promises,特別是done()(和/或then()

+0

編輯你的答案,因爲我錯誤地點擊-1而不是+1,並且在編輯答案前不能重新投票:-) – andyb 2013-03-26 14:42:42

+0

想知道誰是downvoting:P Bygones是過去的;) – RobIII 2013-03-26 14:48:58

+0

對不起,是那是我。我從來沒有故意沒有離開解釋就冷靜下來! – andyb 2013-03-26 14:53:20