Jquery检查是否加载了图像

时间:2011-05-20 08:07:45

标签: jquery

  

可能重复:
  jQuery callback on image load (even when the image is cached)

有没有办法检查jquery是否加载了图像?我有一些外部src的图像,有时候 src指向404页面。有没有办法检查是否加载了该图像?然后我可以从dom中删除它。

感谢。

3 个答案:

答案 0 :(得分:6)

jQuery有一个处理这个的功能,看看.error()

例如,您可以将.error()处理程序附加到所有图像,并在出现错误时显示其他内容,例如源不再存在:

$('img').error(function() {
    $(this).hide();
}).attr("src", "missing.jpg");

Here is a demo

答案 1 :(得分:6)

@Scoobler有正确的想法,但执行错误。

$(function ()
{
    $('img').error(function()
    {
        $(this).attr('src', 'http://i.stack.imgur.com/THJzu.gif');
    });
});

.error()绑定必须在文档就绪时发生 - 窗口加载为时已晚。

演示:http://jsfiddle.net/mattball/EebmC/

答案 2 :(得分:0)

是的,您可以像这样使用error事件......

$('#imageId')
  .error(function() {
    alert('Something bad happened.')
  })
  .attr("src", "image.gif");