0

嗨,我有一个项目,我从服务器获取带有 ajax 帖子的帖子,我检测附加帖子中的图像并使用函数根据它们的比例调整它们的大小。

问题是当我附加新帖子并尝试触发该功能时,它会将图像检测为大小(高度和宽度)0,导致图像尚未加载。我搜索了,但找不到任何答案,有一种方法可以检测是否已使用 .onload 或其他替代方法加载了 ajax 响应中的所有图像(其中包含其他元素)?

4

1 回答 1

0
                                   **Update**

我想通了:

检查 ajax 响应中的 img 元素长度:

$("#yourelement").append(html);
var $dialog = $(html);
imglength = $dialog.find("img").length;

在每个加载的 img 上添加一个 count++,并检查它是否等于 img 长度:

n_images = 0;
$("#yourelement img").on('load', function(){ // check for every new image loaded in # 
n_images++;

if (n_images == imglength) {
//alert(imglength); // I used to verify if it works
yourfunction(); // will fire when all new images have been appended and loaded
}

});
于 2013-09-05T00:32:10.420 回答