我试图从我网站下的另一个页面加载一些元素,我做到了。 但我也尝试对正在加载的元素应用一些 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(); 但是,没有运气....
有什么建议吗?
最佳答案
您将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);
});
关于javascript - 如何检测 load() 加载的元素是否已完成加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272675/