在按鈕上點擊,我想觸發另一個正在做一些Ajax(後端邏輯)操作的div,點擊按鈕上的,然後觸發實際點擊。onclick做功能,然後點擊
我曾嘗試沒有成功
$('#button').click(function(event) {
$("#someDiv").click(); //at this point the ajax content will load..
return true;
});
在按鈕上點擊,我想觸發另一個正在做一些Ajax(後端邏輯)操作的div,點擊按鈕上的,然後觸發實際點擊。onclick做功能,然後點擊
我曾嘗試沒有成功
$('#button').click(function(event) {
$("#someDiv").click(); //at this point the ajax content will load..
return true;
});
以下嘗試這樣做。的。單擊是。對(點擊),聽者的快捷方式,而不是觸發:
$('#button').click(function(event) {
$("#someDiv").trigger("click"); //at this point the ajax content will load..
return true;
});
你可以使用一個布爾值來保存的狀態,並開槍#button
點擊兩次,執行實際點擊僅ajax已被加載。 您也可以在發出ajax請求時禁用該按鈕。
var ajaxLoaded = false;
$('#button').click(function(event) {
if (!ajaxLoaded){
$('#button').prop('disabled', true);
$("#someDiv").click();
return false;
}
ajaxLoaded = false;
$('#button').prop('disabled', false);
return true;
});
而且在Ajax請求的成功回調,
ajaxLoaded = true;
$('#button').click();
Fiddle Example(使用setTimeout的模擬一些異步延遲)
爲什麼不更新的
ajaxLoaded
的值,並觸發點擊只是在你的函數中做ajax? – Zl3n你可以試試'$(「#someDiv」).trigger(「click」);'看看它是否有幫助 – silkAdmin
你是否希望啓動ajax請求,然後立即處理原始按鈕點擊?或者是否希望延遲處理原始點擊處理程序的其餘部分,直到ajax請求成功完成並返回響應爲止?如果前者,你的代碼應該工作,我想。如果是後者,則需要重寫原始的單擊處理程序,將其邏輯的其餘部分作爲回調傳遞給ajax請求。 –