如何找出jQuery事件的结束

时间:2013-03-26 13:55:25

标签: javascript jquery events promise

我可以用

找出事件的结束
$._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>

这很好用,禁用按钮,并加载一个gif,直到再次加载pase。

现在我想要简单的jQuery按钮完全相同的过程。它可以是一个简单的AJAX请求,也可以是将一个文本字段复制到另一个字段的按钮。事情是必须禁用按钮,直到操作完成。我知道我可以在函数的开始和结束时执行禁用/启用操作,但这不是解决方案。因为我想在框架中这样做。

<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 个答案:

答案 0 :(得分:3)

您需要查看jQuery promises,特别是done()(和/或then()