我想加载一个图像,在完全加载之前,如果发生任何错误并且无法加载它,只需做一些工作即可。
第一次,效果很好。但是第二次当我想再次加载另一个图像并且它不可用时,它会尝试重复加载。
我用过:
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);
}
但是没有发生错误:(
最佳答案
如果您使用jQuery.one
,那么处理程序最多将针对每个事件类型的每个元素执行一次。这将阻止循环发生。
$("#av-1").one('load', function () {
$("#av-1").attr('src', imagePath);
$("#av-1").attr('alt', title);
}).attr('src', imagePath).error(function () {
// Log errors...
});
关于jquery - 为什么 jQuery 尝试多次加载一张图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34416687/