3

同じクラスの一連の画像をループしてエラーハンドラーをそれらに添付しようとしています。これにより、エラーが発生した場合、これを の最後に$(this).attr('src', 'img path');配置して、画像を標準の画像に置き換えます。ループは正しく繰り返されますが、404 エラーがありますが起動しません。代わりに何が起こるかを確認しようとアラートを試みたところ、アラートがポップアップしました。解雇されるようにこれを解決するにはどうすればよいですか?.each()document.ready().error().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 に答える