在负载事件
http://api.jquery.com/load-event/的jQuery文档中,它说
可以停止为已经存在于浏览器缓存中的图像触发.有关此的更多信息,例如它影响的浏览器,以及在什么情况下?
可以停止为已经存在于浏览器缓存中的图像触发.有关此的更多信息,例如它影响的浏览器,以及在什么情况下?
解决方法
我不确定哪些浏览器会受到影响,但很容易检查.
- 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";