javascript - 如何使用 jQuery 检查图像是否加载?

标签 javascript jquery

我的页面上有一个基本的图像元素。我正在捕获它的加载事件以将消息记录到我的控制台。

$("#myImg").on('load', function() {
    console.log("Loaded");
});

上面的代码工作得很好,除非正在加载的图像已经存在于用户缓存中,在这种情况下根本不会加载消息。

是否有类似 loaded 的事件检查图像是否已加载?

最佳答案

Check imageObj.complete before load event. complete is image object property.

HTMLImageElement.complete : 如果浏览器已完成获取图像,则返回 true 的 bool 值,无论成功与否。如果图像没有 src 值,它也会显示 true。

var elem = $("#myImg");

if (!elem.prop('complete')) {
  console.log("Waiting to be loaded!");
  elem.on('load', function() {
    console.log("Loaded!");
    console.log(this.complete);
  });
} else {
  console.log("Already loaded!");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<img src='http://www.wired.com/wp-content/uploads/2015/09/google-logo.jpg' id='myImg'>

关于javascript - 如何使用 jQuery 检查图像是否加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36302485/

相关文章:

javascript - 用于 WebGL 开发的 GLGE、SceneJS 或 WebGLU?

javascript - 不能在或 (||) 运算符之后使用 `throw`

jquery - 页面加载时如何将 iframe 滚动到底部?

Javascript,知道某个值是否在数组中的最快方法?

Javascript::如何识别在可编辑的 div 上插入了什么字符(或字符串)?

javascript - D3.js:使用图像(在数据中指定文件名)作为轴上的刻度值

javascript - 如何统计网站访问过程中的用户点击量,直到达到特定的点击次数?

jquery - Chrome 中 Ajax 同步请求失败

javascript - 动态添加jPlayer

javascript - 为什么我的 map 函数另外添加 2 个空的 'li' ?