2011-11-25 78 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

搅拌器我没有使用你的第二个推荐的方式,因为我有几组要素被加载......但是,谢谢:) –

相关问题