我想加载图片,在完全加载之前如果发生任何错误并且无法加载它,只需做一些工作。
这是第一次,它运作正常。但是当我第二次想要再次加载另一个图像并且当它不可用时,它会尝试重复加载。
我用过:
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);
}
但没有发生错误:(
答案 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...
});