2

私は自分のウェブサイトに次のコードを使用しています:

<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script src="js/jquery-migrate-1.2.1.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function() {
        $("img#logo").load(function() {
            alert('Hello');
        });
    });
</script>

これは IE では機能しませんが、Firefox、Chrome、および Safari では正常に機能します。

4

2 に答える 2

3

非縮小バージョンを使用して、Windows 7 64 の IE 8 でコード動作することを確認できます。

<!DOCTYPE html>
<html>
 <head>
<title>test</title>
     <script type="text/javascript" src="jquery-1.10.1.js"></script>
     <script>
         $(document).ready(function () {
             console.log($.fn.jquery);
             $("img#logo").load(function () {
                 console.log('Hello');
             });
         });
     </script>
</head> 
 <body> 
     <img id="logo" src="somegig.gif" onload="console.log('load');"/>
 </body>
</html>

これにより、1.10.1 がログに記録され、次にロードされてから Hello がログに記録されます。おそらく、html を検証して、html が有効であることを確認する必要があります。これが問題である可能性があります。

于 2013-06-29T05:27:27.603 に答える
1

http://api.jquery.com/load-event/を簡単に確認すると、いくつかの注意事項があります。

画像で使用する場合の load イベントの注意事項

開発者が .load() ショートカットを使用して解決しようとする一般的な課題は、画像 (または画像のコレクション) が完全に読み込まれたときに関数を実行することです。これには注意すべき既知の警告がいくつかあります。これらは:

  • クロスブラウザーで一貫して確実に動作しない
  • 画像の src が以前と同じ src に設定されている場合、WebKit で正しく起動しません。
  • DOM ツリーを正しくバブルアップしない
  • ブラウザのキャッシュに既に存在する画像の起動を停止することができます

1 番目と 4 番目の注意事項に注意してください。キャッシュをクリアして、再試行してください。

また、jQuery migrate が必要ですか? それを失い、それがあなたのIEに不具合を起こしているかどうかを確認してください

于 2013-06-29T06:20:50.040 に答える