javascript - 处理 Ajax 调用期间丢失的图像资源

标签 javascript jquery ajax

我知道我可以像这样使用 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/

相关文章:

javascript - 使用 jquery 展开折叠树节点

javascript - CodeMirror - 合并 View 弯曲的拱形出现在页面中间,差异不突出显示

javascript - 在 .replaceWith() 之后恢复或保留 select 的事件

c# - __doPostBack 未在 JavaScript 中定义

javascript - 由 jQuery 设置的内联 CSS 'resize event' 在窗口调整大小后重置为默认值

php - AJAX 以及如何在 PHP 中最好地处理它的服务器端

javascript - Ajax请求内循环,完成后页面重新加载

php - 使用ajax向mysql插入数据后无法刷新div

javascript - 客户端JS : Return concatenation of async requests

javascript - !important 并显示 :none and . height() 怪异