跨浏览器图像onload事件处理

在负载事件http://api.jquery.com/load-event/的jQuery文档中,它表示Can cease to fire for images that already live in the browser's cache 。 有关此的更多信息,例如它影响的浏览器,以及在什么情况下?

我不确定哪些浏览器会受到影响,但很容易检查。

 var img = new Image(); img.src = "foo.jpg"; if (img.complete || img.readyState === 4) { // image is cached doneCallback(); } else { $(img).on('load',doneCallback); } 

UPDATE

如果您更改代码,它将始终在所有浏览器中触发加载事件。

 var img = new Image(); $(img).load(doneCallback); img.src = "foo.jpg";