我正在尝试从我的网站下的另一个页面加载一些元素,我做到了。 但我也试图对正在加载的元素应用一些jquery动作。 但是,我为它们编写的脚本被跳过,因为它们在元素加载之前运行。 知道如何检测元素加载是否完整? (也许这是一个愚蠢的问题,但我真的找不到答案)。
这是我加载元素的方式:
$('#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(); 但是,没有运气......
有什么建议吗?
答案 0 :(得分:2)
您正在将whenCompleteLoad()
的输出传递到.load()
功能的回调插槽。这是因为当您添加括号时,您将调用该函数。
删除括号会引用实际的功能,这就是你想要的:
$('#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);
});