首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >image.onload事件和浏览器缓存

image.onload事件和浏览器缓存
EN

Stack Overflow用户
提问于 2012-09-10 23:31:05
回答 3查看 243.9K关注 0票数 130

我希望在加载图像后创建一个警报框,但如果图像保存在浏览器缓存中,则不会触发.onload事件。

如何在加载镜像时触发警报,而不管该镜像是否已缓存?

var img = new Image();
img.src = "img.jpg";
img.onload = function () {
   alert("image is loaded");
}
EN

回答 3

Stack Overflow用户

发布于 2015-07-25 03:52:27

如果已经设置了src,那么甚至在绑定事件处理程序之前,事件就会在缓存的情况下触发。因此,您也应该基于.complete触发事件。

代码示例:

$("img").one("load", function() {
   //do stuff
}).each(function() {
   if(this.complete || /*for IE 10-*/ $(this).height() > 0)
     $(this).load();
});
票数 12
EN

Stack Overflow用户

发布于 2013-01-03 14:05:05

我今天也遇到了同样的问题。在尝试了各种方法之后,我意识到只需将调整大小的代码放在$(window).load(function() {})中,而不是document.ready中,就可以解决部分问题(如果您不是在扩展页面)。

票数 3
EN

Stack Overflow用户

发布于 2017-02-01 16:15:31

我发现你可以在Chrome中做到这一点:

  $('.onload-fadein').each(function (k, v) {
    v.onload = function () {
        $(this).animate({opacity: 1}, 2000);
    };
    v.src = v.src;
});

将.src设置为自身将触发onload事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12354865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档