JavaScript& IE7-なぜ* .onload = function(){}が実行されないのですか?

StackOverflow https://stackoverflow.com/questions/307364

質問

小さなサイト用にすばやくコーディングしたギャラリーがあり、Firefox 3およびSafari 3で正常に動作します。しかし、昔の親友であるIE7でテストすると、imageVar.onload = function(){//ここにコードを記述} ..をロードしないようです。これを使用して、ロードエフェクトを停止し、イメージをロードします。

注意してください...

  • サムネイルは、より大きな画像の縮小版に過ぎません。クライアントによって画像が完成したら、適切なサムネイルを作成します。
  • これは、ほとんどの場合手続き型JavaScriptから抜け出そうとする私の最初の試みです。簡単に行って、コードのどこが悪いのか教えてください!
役に立ちましたか?

解決

Image.onloadを正常に使用するには、src属性を設定する前にイベントハンドラーメソッドを登録する必要があります。

この質問の関連情報:

画像読み込み用のJavaScriptコールバック

他のヒント

クロスブラウザイベントのサポートは、実装の違いによりそれほど単純ではありません。サイトでjQueryを使用しているので、イベントサポートメソッドを使用してブラウザーサポートを正規化する方が適切です。

代わりに:

 window.load = function(){ 
      //actions to be performed on window load
 }

 imageViewer.image.onload = function(){ 
     //actions to be performed on image load
 }

する:

$(window).load(function(){ 
    //actions to be performed on window load
});

 $(imageViewer.image).load(function(){ 
      //actions to be performed on image load
 });

Eranによる提案に追加してjQueryの組み込みイベントハンドラを使用すると、ドキュメントがロードされ、DOMが作成されたときに、画像がダウンロードされる前にコードを実行できます。

$(document).ready(function(){
   //your code
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top