5

<img>标签有"onsuccess"属性吗?喜欢"onerror"

我正在加载图像。我用 JQuery 绑定了一个事件,它改变了 image onerror"ONERROR Image loaded successfuly"如果onerror image成功加载,我想显示警报。否则会显示 alert "ONERROR image not found"

编辑: onload 加载图像后显示警报。但没有告诉我们,"your real image is loaded"或者"browser's default error image is loaded"。检查这里...

http://jsfiddle.net/extremerose71/cHuu6/6/
4

4 回答 4

8

如果你写了类似的东西:

<img id="im3" src="http://ssl.gstatic.com/gb/images/j_f11bbae8.png" />​

并且还写道:

$(window).load(function() {
   $("#im3").load( function (){
      alert('load');
   }).error( function (){
      alert('error');
   });
});

(因为jsfiddle onLoad对应于$(window).load),你永远不会得到任何alert,因为$(window).load在所有资源都已经加载后会被调用。

但是,如果您要从中src删除img

<img id="im3"/>​ 

然后添加这个

$("#im3").attr('src','http://ssl.gstatic.com/gb/images/j_f11bbae8.png' )​​​​​​​​​​​​​​;

行后loaderror听众,你会看到一个alert

所以主要问题是,您在图像已经加载或加载失败之后添加了侦听器。

于 2012-04-07T17:43:30.983 回答
5

我认为你可以使用

function loadImage()
{
    alert("Image is loaded");
}
function errorImage()
{
    alert("Image not loaded");
}
<img src="someImg.png" onload="loadImage()" onerror="errorImage()" />

参考:onloadonerror

成功加载图像时,onload 事件处理程序(loadImage 函数)将触发,如果未加载图像,则 onerror 事件处理程序(errorImage 函数)将触发。

于 2012-04-07T16:58:22.270 回答
3

是的,您可以这样做,请在此处阅读。您可以使用:

  • 负载
  • 错误
  • 中止

所有主流浏览器都支持这三个事件。

您也可以在MDN DOM 事件参考中找到这三个事件。

于 2012-04-07T16:57:34.737 回答
1

您可以使用onerroronload事件处理程序来做到这一点

var im = document.getElementById('imageid');
im.onload = function() {
   //handler
};

im.onerror = function() {
   //handler
};
于 2012-04-07T17:01:56.260 回答