0

我可以用

$._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>
4

1 回答 1

3

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

于 2013-03-26T13:56:50.700 回答