为什么jQuery会尝试多次加载图像?

时间:2015-12-22 13:10:26

标签: jquery image load

我想加载图片,在完全加载之前如果发生任何错误并且无法加载它,只需做一些工作。

这是第一次,它运作正常。但是当我第二次想要再次加载另一个图像并且当它不可用时,它会尝试重复加载。

我用过:

jQuery JavaScript Library v1.11.1

我的代码出了什么问题?

$("#av-1").load(function () {
    $("#av-1").attr('src', imagePath);
    $("#av-1").attr('alt', title);
}).attr('src', imagePath).error(function () {  

});

更新

我将我的代码更新为:

 try {
    $("#av-1").load(function () {
        $("#av-1").attr('src', imagePath);
    }).attr('src', imagePath).error(function () {
        try {
        }
        catch (err) {
            alert(err.message);
        }
    });
}
catch (err) {
    alert(err.message);

}

但没有发生错误:(

enter image description here

1 个答案:

答案 0 :(得分:0)

如果使用jQuery.one,则每个事件类型的每个元素最多执行一次处理程序。这将阻止你的循环发生。

$("#av-1").one('load', function () {
    $("#av-1").attr('src', imagePath);
    $("#av-1").attr('alt', title);
}).attr('src', imagePath).error(function () {  
    // Log errors...
});