2011-05-20 134 views
0

大家好 在我的主HTML文件,我有這個div有些IMG被定義它:爲什麼JQuery的load()不起作用?

< div id="preload"> 
    < img src="http://howindia.com/......jpg" width="1" height="1" /> 
< /div> 

,在我的js文件我說:

$("#preload").load(function(){ 
    alert("something..."); 
    //call other functions 
}); 

而是簡單地加載所有圖像到< div id =「preload」>不會觸發任何事件,並且

+4

哦,我確實愛一個很好的問題cliffhanger! 「和...」? – Jaymz 2011-05-20 09:44:47

回答

3

圖像加載事件不會傳播到div。嘗試添加一個負載處理程序到圖像(S)。

Example fiddle

$("#preload img").load(function(){ 
    alert("something..."); 
    //call other functions 
}); 
+0

還要確保代碼在加載DOM後,在'$(function(){...})' – 2011-05-20 09:47:51

+0

@Luca Matteis內調用,或者在關閉body標籤前放置腳本! – redsquare 2011-05-20 09:49:07

0

使用本:

$(document).ready(function() { 
    // do what u want. 
}); 
1

首先,一個快速提示。如果數千(數百萬)人使用的圖書館「不工作」,那麼你不會注意到它。在這種情況下,它的可能性是100%,這是你的代碼不工作,而不是jQuery。

至於你的問題,快速看documentation for load()顯示沒有超載作爲第一個參數的函數。它被定義爲:

.load(url, [ data ], [ complete(responseText, textStatus, XMLHttpRequest) ]) 

你也許真的要使用.ready()

或者也許.load() event,在這種情況下的說明文件

負載事件被髮送到一個元素 當它和所有的子元素已經被完全加載時, 。此事件可以發送到與 URL關聯的任何元素 :圖像,腳本,框架,iframe, 和窗口對象

+0

我相信OP是在討論圖片加載事件,而不是jquery xhr .load,雖然很難100%確定:) – redsquare 2011-05-20 09:52:02

+0

@redsquare - 你可能是對的。我沒有考慮這一點。回答editied。 – Jamiec 2011-05-20 10:14:57

+0

是的...由於「它不工作」我的意思是「它不適合我或我的目的」或換句話說「我不知道如何使用它」 – 2011-05-30 17:30:11