2011-11-25 104 views
2

我想從我的網站下的另一個頁面加載一些元素,我做到了。 但我也試過對正在加載的元素應用一些jquery動作。 但是,我爲它們編寫的腳本正在跳過,因爲它們在元素加載之前運行。 任何想法如何檢測元素加載是否完成? (也許這是一個愚蠢的問題,但我真的找不到答案)。如何檢測load()加載的元素是否已完成加載?

這是我如何加載我的元素:

$('#homeCat2').load('category.php?id_category=2 #product_list'); 

我想這樣的事情,但它是沒有用的:

$('#homeCat2').load('category.php?id_category=2 #product_list',whenCompleteLoad()); 

function whenCompleteLoad(){ 
    var itemNum = $('.ajax_block_product').length; 
    alert(itemNum); 
}; 

我也試圖把代碼中這些元素$(document).ready(); 但是,沒有運氣....

有什麼建議嗎?

回答

2

您正在將輸出whenCompleteLoad()傳遞到​​函數的回調槽。發生這種情況是因爲當你添加括號時,你可以調用函數。

卸下括號引用的實際功能,這是你想要的東西:

$('#homeCat2').load('category.php?id_category=2 #product_list',whenCompleteLoad); 

或者你也可以使用匿名函數(我喜歡這種方法):

$('#homeCat2').load('category.php?id_category=2 #product_list', function() { 
    var itemNum = $('.ajax_block_product').length; 
    alert(itemNum); 
}); 
+0

!!!!攪拌機你真的是我的一天!我不知道有這樣的區別。非常感謝你!現在它像一個魅力:) –

+0

沒問題!你不知道我有多少次發生這種事:P – Blender

+0

攪拌器我沒有使用你的第二個推薦的方式,因爲我有幾組要素被加載......但是,謝謝:) –

相關問題