处理.load()未找到错误

时间:2014-02-08 19:22:55

标签: javascript jquery

我正在尝试使用图像,但如果图像不存在怎么办?如何在加载功能上传递超时或其他内容以便我可以阻止它?

我需要这个,因为在加载图像之前我会生成一个说“正在加载图像”的div,如果加载函数返回404错误信息,我的div将永远不会丢失。

//generate <div id="myDiv">Loading image ...</div>
$('<img src="dasdasd.as"/>').load(function(){
     $("#myDiv").hide(); -> this will never happen
});

JSFiddle示例。

1 个答案:

答案 0 :(得分:1)

您可以使用.error()

来自Docs(强调我的)

  

错误事件将发送到文档引用并由浏览器加载的元素(如图像)。 如果元素未正确加载,则会调用它。

$('<img src="dasdasd.jpg"/>').load(function(){
    $("#myDiv").hide();
}).error(function(){
    alert('Error occured')
    $("#myDiv").hide();
});

DEMO