[英]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.