0

ドキュメントの読み込みが完了するのを待たずに、表示される画像に読み込みイベントを添付しようとしています。$.onそのため、コードをページの下部に配置するのではなく、これを達成するために使用していますが、まだ機能していません。

私のhtmlは次のようなものです:

<script>
  $('img').on('load', function(){
    $(this).css('border', '2px solid red');
  });
</script>

<img src="koala.png" />

これは実際には機能しませんが、これは機能します:(これは私が望むものではありません)

<img src="koala.png" />

<script>
  $('img').bind('load', function(){
    $(this).css('border', '2px solid red');
  });
</script>

とにかくこれを回避する方法はありますか?

4

2 に答える 2

0

質問がまったくわからないのですが、DOMの画像の下にこれを配置してみてください。

var images = document.getElementsByTagName('img');

for (i=0; i<images.length; i++) {
    var img = new Image();
        img.src = images[i].src;
        img.onload = loaded(images[i]);
}

function loaded(image) {
    image.style.border = '20px solid red';
}
于 2012-05-14T21:40:17.573 に答える
0

これには注意すべき既知の警告がいくつかあります。

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

ここから

于 2012-05-14T20:35:01.653 に答える