3

我正在尝试遍历具有相同类的一组图像并将错误处理程序附加到它们,以便在出错时我将图像替换为标准图像,$(this).attr('src', 'img path');并将其.each()放在document.ready(). 循环正确迭代,但.error()没有触发,尽管我有 404 错误。我试着.click()提醒看看会发生什么,然后警报弹出了。我该如何解决这个问题才能.error()被解雇?

$('img.thumbnail-img').each(function(index, element)
{
    $(element).error(function()
    {
        load_thumbnails_error('img', this);
    });
});
4

1 回答 1

0

jQuery 文档

必须在浏览器触发错误事件之前附加事件处理程序,这就是示例在附加处理程序后设置 src 属性的原因。此外,当页面在本地提供时,错误事件可能不会正确触发;error 依赖于 HTTP 状态码,如果 URL 使用 file: 协议,一般不会触发。

如果我理解这一点,这意味着如果您.each在函数中执行循环,则$(document).ready所有图像的错误都已经触发。

于 2013-08-27T06:27:16.247 回答