我在iframe中加载了一个网页,它使用javascript来计算网页文档的高度(文档可能有图像)。现在我写了下面的代码来计算加载图像后的高度:
$("#campaignContainer img").bind("load", function() {
console.log("image load call");
callPostSize(this.src);
})
.each(function() {
if(this.complete) {
console.log("Before image load call from complete");
/*this.onload= function(){console.log("image load call");
callPostSize(this.src);
};*/
$(this).load();
console.log("call load from image complete");
}
我注意到图像加载多次被激发以防一张图像; 如果图像没有被缓存,则会激发2次,否则会激发3次。
我的问题是 1)为什么多次触发图像加载?这是一个jquery问题还是一些浏览器事件? 2)有办法阻止这个吗?
我尝试了jquery.one但没有成功:它没有给出确切的高度(只有最后一个触发器给出了确切的高度)。
答案 0 :(得分:0)
你正在使用' img'标记为选择器。因此,它将触发' campaignContainer'中出现的所有图像。
答案 1 :(得分:0)
发现了这个问题。从代码的其他部分再次显式调用图像加载,这是不明显的。