我希望我的JS的一些部分進行初始化時,文檔準備好時,AJAX查詢完成
事情是這樣的:jQuery的:兩者。就緒()和.ajaxComplete
if ($(document).ready() or $(document).ajaxComplete()) {
// do something
}
是否有可能寫出這樣一個條件?
我該如何做對?
我希望我的JS的一些部分進行初始化時,文檔準備好時,AJAX查詢完成
事情是這樣的:jQuery的:兩者。就緒()和.ajaxComplete
if ($(document).ready() or $(document).ajaxComplete()) {
// do something
}
是否有可能寫出這樣一個條件?
我該如何做對?
u可以使用綁定功能
$(document).bind('ready ajaxComplete', function(){
// Your code here
})
雖然我的意見與Felix同意,準備功能主要是用來執行行動,只有當整個文檔加載
'.ready'和'.ajaxComplete'是特殊功能。我不認爲你可以用'.bind'替代它們。 –
被測試:但jQuery的文件提到「jQuery觸發ajaxComplete事件」 – LeGEC
有點困惑和不確定我自己的答案現在..準備好&ajaxComplete視爲事件,如點擊,改變? –
你可以把你常用的一個單獨的函數在代碼的函數,並將其綁定到儘可能多的活動,只要你想:
function doStuff(){
// do something
}
$(document).ready(doStuff);
$(document).ajaxComplete(doStuff);
由於Jigar mentionned:你也可以使用.bind('evtA evtB', func)
或.on('evtA evtB', func)
可以一次性將相同的回調綁定到多個事件。
但是,documentation爲ready
回調說:
還有的$(document)。在( 「準備就緒」,處理程序),不贊成的jQuery 1.8。
在這種情況下,他必須設置一個標誌,確定代碼是否已經執行到防止它運行兩次。 – Kiruse
你的答案似乎更好..沒有比我更有爭議:p是的,一個國旗將需要提及@ Derija93 –
雖然這似乎沒有多大意義。那是兩個完全獨立的事件。您通常將東西放入必須訪問DOM的'ready'處理程序中。 Ajax回調OTOH可以在DOM準備好並且元素可用之前執行。請描述您正在嘗試解決的實際問題。 –
你在jquery加載之前正在做ajax請求?你正在加載jQuery之前的HTML?如果不是不行,那麼我建議你不要不要,否則你的問題就變得不相關 – mikakun