2013-03-26 90 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