はdocument.ready、DOM が完全にロードされた後にコードを実行するために使用されます。これは、ページ上の要素にイベント ハンドラーをアタッチするために使用できます。
$(function(){
$('#somediv').click(function(){
});
})
<div id="somediv"> </div>
DOMContentLoaded内部的には、jQuerywindow.onloadはフォールバックとして接続します。IE の場合、成功するまでビューポートを何度もスクロールしようとします。
いくつか質問があります。最初の質問は、イベント ハンドラーをそれ自体にバインドするときに、そのコードを?documentに配置する必要があるかどうかです。document.ready私は常に以下のコードをラップせずに書いてきましたdocument.ready
$(document).keydown(function(e){
if (e.which == 39) {
alert( "right arrow pressed" );
return false;
}
});
ご覧のとおり、動作します。私の理解では、このコードはドキュメント内のどの要素にも接続していませんが、ドキュメント自体に接続しているため、document.readyハンドラーでラップする必要はありません。私がそれをラップしないもう1つの理由は、バニラのjavascriptで同じことをしていたからです。
document.onkeydown = function(){
var keyCode = event.keyCode || event.which;
if (keyCode == 39) {
alert( "right arrow pressed" );
return false;
}
}
人々が でラップする投稿を数多く見てきましたがdocument.ready、このコードを でラップしないことの欠点はありますdocument.readyか?
また、この質問は、DOM が構築されている間に何が起こるかについての私の明確さの欠如から生じていると思います。そのため、誰かが DOM の準備が整う直前の期間に何が起こるかを説明できれば. HTML が解析されて DOM ツリーに変換されると 、ドキュメントの準備が整います。
要約すると、ここに私の質問があります
- イベント ハンドラーを
documentそれ自体にバインドする場合、そのコードをdocument.ready. - でコードをラップしないことの欠点はあり
document.readyますか? document.readyドキュメントが構築されているとき、が起動 される直前に、どのようなイベント シーケンスが発生しますか?