[英]Jquery .ajax beforeSend seems to remove the click event handler from a button?
我正在尝试使用wordpress来停止Jquery发送的ajax请求,并使用一些额外的数据重新提交它。
以下是它的工作原理:
用户单击提交按钮。
Wordpress提交ajax请求
我有一个全球beforeSend
功能设置使用.ajaxSetup
这样:
$.ajaxSetup( {beforeSend: monitorRequests } );
当wordpress提交请求时,它被我的函数拦截,该函数调用另一个提交另一个ajax请求的函数,而monitorRequests
'则返回false,这会取消原始的ajax请求。
我发送了自己的ajax请求,没有任何问题。
不过这是问题所在。 执行此操作一次后,如果用户再次单击提交按钮,则不会调用wordpress的单击处理程序。 我想知道为什么会这样,这是否与取消ajax请求有关? 还是其他什么? 我该怎么做才能继续调用点击处理程序?
想出来之后,Wordpress在ajax请求期间禁用了按钮,并且由于从未调用过wordpress的回调,它仍然被禁用。
$ .ajaxSetup全局影响页面中的ajax调用。 您不知道WP插件中实现了多少AJAX以及它们的自定义实现方式。
尝试将范围缩小到特定元素。 你可以使用
$('.submit').bind('click', function(){ /* your fn */ });
//You can have many 'click' binding eg..
$('.submit').bind('click', function(){ /* another */ });
$('.submit').bind('click', function(){ /* yet another */ });
在现有脚本之前插入脚本。 您将首先调用您的函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.