javascript - 如何找出 jQuery 事件的结束

标签 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>

最佳答案

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

关于javascript - 如何找出 jQuery 事件的结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15638866/

相关文章:

javascript - 如何使用 JQuery 提示用户后删除动态表的特定行?

javascript - 追加元素问题

c# - 当事件是 ASP.NET 中的第三个部分文件的一部分时,为什么它可能不会注册?

javascript - 检测事件回调的开始和结束?

Javascript 回调在父函数之前调用

Javascript,有没有办法将数组编写为没有逗号或空格的单个文本字符串?

Javascript 根据值从下拉列表中获取选项

javascript - 如何取消绑定(bind)特定的事件处理程序

javascript - asp.net 中哪个函数会先执行?

jquery - 使用 jquery 验证插件的表单验证问题