猿问

检查是否用jQuery加载了图像(没有错误)。

检查是否用jQuery加载了图像(没有错误)。

我使用JavaScript和jQuery库操作无序列表中包含的图像缩略图。当图像被加载时,它只做一件事情,当错误发生时,它会做其他事情。我使用jQueryLoad()和Error()方法作为事件。在这些事件发生后,我检查.Complete的ImageDOM元素,以确保在jQuery可以注册事件之前图像还没有加载。

它正常工作,除非在jQuery注册事件之前发生错误。我能想到的唯一解决方案是使用IMGonError属性将一个“标志”全局存储在某个地方(或者在它是Self的节点上),说明它失败了,这样jQuery就可以在检查.Complete时检查那个“存储/节点”。

有人有更好的解决方案吗?

编辑:粗体的要点,并增加额外的细节如下:在图像上添加加载和错误事件后,我正在检查图像是否完成(也称为加载)。那样的话,如果图像是在事件注册之前加载的,我仍然会知道。如果图像在事件之后没有加载,那么当它加载时,事件就会处理它。问题是,我可以很容易地检查图像是否已经加载,但是我不知道是否发生了错误。


慕妹3146593
浏览 507回答 3
3回答

泛舟湖上清波郎朗

另一个选项是触发onload和/或onerror通过创建内存中的映像元素并将其设置为src属性的src原始图像的属性。这里有一个例子说明了我的意思:$("<img/>") &nbsp;&nbsp;&nbsp;&nbsp;.on('load',&nbsp;function()&nbsp;{&nbsp;console.log("image&nbsp;loaded&nbsp;correctly");&nbsp;}) &nbsp;&nbsp;&nbsp;&nbsp;.on('error',&nbsp;function()&nbsp;{&nbsp;console.log("error&nbsp;loading&nbsp;image");&nbsp;}) &nbsp;&nbsp;&nbsp;&nbsp;.attr("src",&nbsp;$(originalImage).attr("src")) ;希望这能帮上忙!
随时随地看视频慕课网APP
我要回答