我知道我可以像这样使用 jQuery 处理丢失图像错误:
$('img').on('error', function() {
var $this = $(this);
$this.attr('src', '/image-placeholder.svg');
});
这在页面加载时效果很好。但是,我有一个 Ajax 调用,它返回要放置在页面上的 HTML 字符串。 HTML 中还包含可能丢失的图像。 对于 Ajax 情况,上面的代码不起作用:缺少的资源会抛出 404,但它们不会被占位符替换。我尝试使用事件委托(delegate),但没有成功:
$(document).on('error', 'img', function() {
var $this = $(this);
$this.attr('src', '/image-placeholder.svg');
});
有没有办法在通过 Ajax 响应返回丢失的资源后处理它们?
我的 Ajax 调用使用 $.get()
方法。
最佳答案
load事件不会冒泡,所以你不能委托(delegate)该事件,你可以在将html附加到页面后再次绑定(bind)error事件
关于javascript - 处理 Ajax 调用期间丢失的图像资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658791/