2009-12-13 47 views
0

我想知道這是否可能在JavaScript中:我有一個應用程序,主要是在JavaScript中開發。有一些Ajax調用可以獲取散佈在代碼中的html內容。javascript load listener

我想創建一個對象,每當負載函數被調用時進行偵聽,並在這種情況下啓動一個函數(如顯示預加載器)。

我知道有很多加載插件,但他們都需要在每個加載啓動的地方添加他們自己的代碼。我想保持這種分離,因爲它更容易維護。

這可能嗎?

回答

1
$('document').ajaxStart(function() { /* show loader */ }); 
$('document').ajaxStop(function() { /* hide loader */ }); 

是不是真的那樣簡單,幾個AJAX調用可以在同一時間進行準備,所以你不要總想爲ajaxStop隱藏裝載機。你必須創建一個小計數器來跟蹤當前的通話情況,但這些都是你想要連接的事件,無論如何,

0

就我而言,我不明白爲什麼不這樣做。如果你只使用XMLHttpRequest,那麼你可以創建自己的XMLHttpRequest的處理程序,打開(和/或發送,取決於你打算使用什麼),做任何你想要的「加載屏幕」,然後調用原始方法。

您的方法還應該包裝調用方提供的onload方法處理程序,以便它可以在文檔完成時終止加載屏幕。