ホームページ > 記事 > ウェブフロントエンド > jqueryでエラーイベントをimgにバインドする問題の解決策
例:
<img src = 'xxxx.jpg' > $('img').error(function(){ $(this).attr('src',"默认图片"); })
テストの結果、元の画像が存在しない場合、ページ上の画像が点滅し続けることがわかりました。この問題を解決するにはどうすればよいですか?
$(window).load(function() { $('img').each(function() { if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) { this.src = 'http://www.tranism.com/weblog/images/broken.gif'; } }); });
よくわかりませんが、元の画像は xxxx.jpg を参照しているのでしょうか? コードのデフォルトの画像パスも間違っている (つまり、デフォルトの画像が存在しない) 場合、デッドループ に入ります。 Constant onerror
は最初に画像が正常にロードされたかどうかを確認し、失敗した場合はイベント をバインドするため、点滅し続けます。そして一度交換するだけです。 りー
以上がjqueryでエラーイベントをimgにバインドする問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。