• ベストアンサー

Jquery load IEだと効かない?

var j = $('#hoge').find('img'); var n = j.length; j.load(function(){ n--; if(n==0){ //全てのimgがロードできた。 } }); 上記の様なコードを書きました。しかし、IE6 IE8あたりですと、loadのイベントが上がってきません。 対策ありますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

投稿ボタンを押した直後に思い出しましたが、 IEは一度読み込みが完了した<img>に対して、srcを変更して違う画像を読み込んだ場合にonloadイベントを呼び出しません。 もしsrcを変更して画像を読み直しているのであれば、読み込みたい画像の数だけimg要素を生成する必要が有ります。

kingfruits
質問者

補足

talooさん、ご回答ありがとうございます。 ご指摘の二つとも、心当たりがあります。 よいご指摘ありがとうございました。

その他の回答 (1)

回答No.1

load()を呼び出す(onloadイベントハンドラを登録)するタイミングが遅すぎるのではないでしょうか? 各<img>を調べて.completeがtrueになっていればonloadイベントハンドラをセットせずに、n--だけ行うとどうでしょうか。

関連するQ&A