javascript - Jquery .ajax beforeSend 似乎从按钮中删除了单击事件处理程序?

标签 javascript jquery event-handling

我正在尝试使用 wordpress 来停止 Jquery 发送的 ajax 请求,并使用一些附加数据重新提交它。

其工作原理如下:

  • 用户单击提交按钮。

  • Wordpress提交ajax请求

  • 我使用 .ajaxSetup 以这种方式设置了一个全局 beforeSend 函数:

    $.ajaxSetup( {beforeSend: monitorRequests } );

  • 当wordpress提交请求时,它被我的函数拦截,该函数调用另一个提交另一个ajax请求的函数,而monitorRequests'返回false,这会取消原始的ajax请求。

  • 我自己的ajax请求已发送,没有任何问题。

但是问题来了。执行此操作一次后,如果用户再次单击提交按钮,则不会调用 WordPress 的单击处理程序。我想知道这是为什么,这是否与ajax请求被取消有关?还是其他什么?我应该怎么做才能继续调用点击处理程序?

最佳答案

发现,Wordpress 在 ajax 请求期间禁用了该按钮,并且由于从未调用 WordPress 的回调,因此它保持禁用状态。

关于javascript - Jquery .ajax beforeSend 似乎从按钮中删除了单击事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14064279/

相关文章:

javascript - 为什么 JQuery 不触发添加的事件监听器?

c# - 在 C# 中从另一个窗体监听主窗体中的事件

javascript - jquery 使用 AND 和 OR 运算符按属性选择第 2 部分

javascript - 在保留键的原始顺序的同时解析 JSON 字符串

javascript - .fadeOut 不适用于非常简单的代码

jquery - 内联编辑: onBlur prevents onClick from being triggered (jQuery)

javascript - ng2-split-pane 在初始渲染后调整垂直 Pane 的高度

javascript - 将数组从 objc 传递给 javascript 函数

php - Laravel 5.4 TokenMismatchException 和注销

javascript - 带有按钮的可排序 jQuery UI 列表