違いは何ですか:
$(document).ready(initialize);
と
$(document).on('ready', initialize);
私には、それらは同じように機能するように見えます。
違いは何ですか:
$(document).ready(initialize);
と
$(document).on('ready', initialize);
私には、それらは同じように機能するように見えます。
$(document).on('ready',initialize);
ファイルの実行時に DOM がすでに準備されている場合は機能しません。
$(document).ready()
これには特別な処理があります。常に呼び出されるようにします
$(document).on('ready', ...)
DOMが完全に解析された後にバインドされたコールバックを実行しないため、非推奨です。第一引数にイベントオブジェクトを取得します。
$().ready()
jQuery
への参照が最初の引数として渡されます。
$(document).on('ready', initialize);
この式は、他のイベント ハンドラから期待されるように、ready
イベント ハンドラを にバインドしています。これを使用して DOM Ready をリッスンすることは、jQuery 1.8で非推奨になりました。document
もあり
$(document).bind("ready", handler)
、jQuery 1.8で非推奨になりました。これはメソッドと同様に動作しready
ますが、ready イベントが既に発生していて.bind("ready")
、バインドされたハンドラーを実行しようとすると、実行されません。この方法でバインドされた Ready ハンドラは、上記の他の 3 つのメソッドによってバインドされた後に実行されます。
これready
はカスタム イベントであり、jQuery によって内部的にトリガーされることに注意してください。これは、手動でトリガーできることも意味します。これにより、問題が発生する可能性があります。
$(document).ready(initialize);
この式は、実際にはイベント ハンドラーをバインドしません。DOM が完全に解析されたときに実行されるコールバックを登録jQuery.fn.ready
するための専用メソッドです。jQuery はpromiseオブジェクトにコールバックを追加しており、どのセレクターに渡すかは問題ではありません。$
さらに、コールバックには、イベントオブジェクトではなく jQuery オブジェクトへの参照が渡されます。
ソース コードの次の部分は、このように登録されたコールバックが異なる方法で処理されることをうまく示しています。
// If there are functions bound, to execute
readyList.resolveWith(document, [jQuery]);
// Trigger any bound ready events
if (jQuery.fn.trigger) {
jQuery(document).trigger("ready").off("ready");
}