2012-09-28 15 views
39

jQuery APIを参照していて、load methodが廃止予定リストにあることに気づいた。load()メソッドは推奨されていませんか?

カテゴリ:廃止予定|イベント>ドキュメントの読み込み

通常、このメソッドを使用してイメージが完全に読み込まれているかどうかを確認します。なぜ廃止されましたか?代わりに私は何を使うべきですか?

+0

おそらく以前実行されていた '$(document).ready'と混同されていたでしょうか? – Blazemonger

+0

これを行うには、jQueryの必要はありません。 – adeneo

+0

あなたは 'load' [_method_](http://api.jquery.com/load/)を' load' [_event_](http://api.jquery.com/load-event/)と混同しています。イメージがロードされているかどうかを確認するには、_event_を使用します。 – Sparky

答えて

57

は、この廃止を文書bug #11733を参照してください。

​​方法があいまいな署名である、それはAJAX 負荷のいずれかとすることができるか、「ロード」イベントを発火/取り付けます。 CCAOは、 から引数を基にした動的な決定なので、それらを区別できません。

このメソッドのシグネチャに関連するあいまいさを避けるため、代わりにon()を使用することをお勧めします。例えば:

$("selector").load(function() { 
    // ... 
}); 

はなるはずです。

$("selector").on("load", function() { 
    // ... 
}); 
+0

本当に、 'on()'は常にこのように使われることを意図していました。これは、 'deleg()'と 'live()'だけでなく、 'bind()'に取って代わるものです。私は、on()が導入されて以来、バインドされたイベントと委譲されたイベントの間の(登録メソッドの点で)区別がなくなったと言います。 –

-2

期待通りloadが動作しない場合は、代替がある。具体的に

$(window).one("scroll", foo); 

それとも

$(window).one("scroll", function(){/*...*/}); 

、スクロールイブDOMContentLoadedが期待どおりに動作しない場合は、Androidで便利です.onreadystatechangeが期待どおりに動作しない場合、IE8以降が便利です。

参照

+0

load -_-の代わりでないか適切な回避策はありません。http://api.jquery.com/one/ –

+0

@ Al-Mothafar Scrollイベントバインディングは、少なくともいくつかの[プラットフォーム](http:// webreflection)で動作します。 blogspot.com/2009/10/android-dom-finger-events.html)、[シナリオ](http://bugs.jquery.com/ticket/2614)、[ブラウザ](http://javascript.info/チュートリアル/ onload-ondomcontentloaded#ie-lt-9-hack-for-a-document-in-a-frame)を使用します。 –

+0

@ Al-Mothafarなぜあなたはonloadが複数回発射されるのを期待していますか? – NoBugs

1

負荷関数deprcそれのjQueryの代わりにあなたはjqueryの-3.1.1のための完璧なこの作品は

$("iframe").on("load",function() 
 
{ 
 
\t 
 
\t alert("on loaded iframe"); 
 
\t 
 
}); \t

のように使用することができた上でated。

関連する問題