我正在使用jQuery的ajax函數$.get()
從頁面下載數據。然後我將這些數據轉換爲一個帶有$(data)
的jQuery對象,從而允許它構造一個DOM樹。然後我追加使用此數據append()
添加html代碼時引發jQuery加載事件
是否有jQuery的辦法火類似於load
這會告訴我,當數據的I幀/圖像/視頻完成加載的事件?在append()
之前還是之後?
根據jQuery的文檔,所述load
事件僅觸發上的特定對象:
此事件可以被髮送到與URL相關聯的任何元素:圖像,腳本,框架,內部框架,和窗口對象。
我可以遍歷所有的數據,並附加一個load
監聽到每個對象,然後計算有多少和有load
處理算多少已加載(或已經被緩存),直到數量達到總數。不過,我正在尋找此解決方案的替代方案。
我試圖通過load()
和on()
,但附加了load
事件到window
對象一旦當活動頁面初始加載這些只火。
這裏是我的代碼:
$.get(url_string, function(data) {
// Create DOM elements out of the downloaded html text 'data'
// and take a subset of the DOM elements, where the id is #content
var myContents = $(data).find("#content");
// Insert DOM elements into the active page
$("#destination").append(myContents);
// Check when all images/iframes/video elements have loaded
// Does not work
$("#destination").load(function() {
alert("new stuff loaded");
});
// Does not work either
myContents.load(function() {
alert("new stuff loaded");
});
});
這個問題是與
- jquery event once all images are loaded (including cached images)?
- jQuery event for images loaded
- jquery: event for when ajax loaded content is all loaded (including images)
但SOLUT在這些中提供的離子都是我上面提到的那個,在那裏我將不得不計算那裏有多少物體,然後檢查總計何時達到。
一個jsFiddle演示將有助於準確顯示此問題。 – Sparky