Jquery检查图片是否加载完成

5
3个回答

6

jQuery有一个处理这个问题的函数,请看.error()

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

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

这里是一个演示


1
你搞反了 - 不要隐藏图片,应该在回调函数中设置 src。请查看我的答案。 - Matt Ball

6

@Scoobler 的想法是正确的,但实现方式不对。

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

.error()绑定必须在文档准备就绪时进行 - 窗口加载太晚了。

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


我也是这么想的,但奇怪的是他的演示链接可以在我尝试过的大型DOM中正常工作。 - needfulthing

0

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

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

1
@ Vivek.... ;) 请使用“test”代替“use”。否则我们会认为您在网页上到处使用alerts!;) 这看起来像是修改过的复制粘贴答案。 - Roko C. Buljan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接