5

説明

jQuery 1.8以降、このloadイベントは非推奨になりましたが、特定の回避策を使用するだけで、画像が読み込まれたかどうかを(キャッシュにある場合でも)検出することができました。したがって、イベントの非推奨は、少なくとも画像のページへのロードが終了したことを検出するための開始点として提示されたため、実際には非常に苛立たしいものです。

それにもかかわらず、それは廃止されたので、私は答えを見つけることを期待してこの質問をしています。したがって、私と、すぐに同じ問題に遭遇する可能性のある他の人を助けてください。

例(jQuery 1.8より前)

プラグインを使用せずに(これはごくわずかなコードで実行できるはずなので、プラグインは不要です)、ページ上の各画像が読み込まれたときに関数を呼び出したいと思います。

このようなもの(これは非推奨のため機能しません):

$('#mn_content .column').on('load','img',function(){
    console.log('loaded');  
})

私の質問

loadイベントが存在しないので、これを達成する方法を知っている人はいますか?

注意:これを(現在)達成する唯一の方法がJavascriptnew Imageオブジェクトを使用することである場合、他の人が私よりもあなたの助けを必要としているので、私を助けるためにあなたの時間を無駄にしないでください。私はこのコードを書くことができます、それはとても基本的な何かのために少し長い間巻き込まれているようです。

imageJavascriptオブジェクトを使用せずにこれを達成する方法がないことを確認するために、私は単にこの質問をしました

もちろん、私はどんな助けにも非常に感謝します、あなたの助けをもっと必要としている他の人がいるとき、私はあなたが私に多くの時間を費やしてほしくないだけです。:-)

4

1 に答える 1

4

loadイベントはまだ存在しているため、これ以上を使用してバインドすることはできませ.loadん。イベント委任の例は、1.9および2.0でも引き続き機能するはずです(テストしているブラウザーがロードイベントのバブリングをサポートしている場合)

すべてのブラウザが常にloadイベントを適切にバブルするとは思わないため、個人的には新しいImageメソッドを使用します。

編集:申し訳ありませんが、私が明確でなかった場合、私が言っていたのは、ロードイベントがまだそこにあるということです、あなたはそれに適切にバインドする必要があります。ロードイベントはすべてのブラウザでバブルするわけではないため(ブラウザがある場合)、イベントをイメージに直接バインドする必要があります。例を提供しないように依頼された方法を使用することをお勧めします。

于 2013-02-08T21:42:04.453 に答える