web-dev-qa-db-ja.com

$(document).readyは必要ですか?

私はstackoverflowでこの質問を見ましたが、まったく答えられたとは感じません。

$(document).readyは必要ですか?

私はすべてのjavascriptをページの下部にリンクしているので、理論的にはすべてのドキュメントは準備が整った後に実行されます。

105
Joshua Robison

$(document).readyは必要ですか?

番号

すべてのスクリプトを_</body>_終了タグの直前に配置した場合、まったく同じことを行いました。

さらに、スクリプトがDOMにアクセスする必要がない場合、他のスクリプトの依存関係を超えてロードされる場所は問題になりません。

多くのCMSでは、スクリプトのロード先をあまり選択できないため、モジュラーコードが_document.ready_イベントを使用するのに適した形式です。他の場所で再利用する場合、本当に戻って古いコードをデバッグしますか?

オフトピック:

サイドノートとして:jQuery(function($){...});の代わりに$(document).ready(function(){...});を使用する必要があります。エイリアスを_$_に強制するためです。

120
zzzzBov

いいえ、javascriptが閉じる前に最後のものである場合、これらのタグを追加する必要はありません。

補足として、$(document).readyの省略形は以下のコードです。

$(function() {
// do something on document ready
});

この質問は良いかもしれません。あなたはそれを読みました? jQuery:ページの下部に外部JSがある場合、document.readyを使用する理由

22
turtlepick

いいえ、遅延することはないことがわかっていれば必要ありません。ほとんどの場合、上から下に取り組んでいるものを開発したかどうかがわかります。

-あなたが知らないのは、他の人のコードを徹底的に監査せずに持ち込んだときです。

それでは、構造を支援するフレームワークまたはエディターを使用していることを自問してください。他の人のコードを持ち込んでいて、各ファイルを読み通すことに悩んでいませんか?コードをテストするためのオペレーティングシステム、ブラウザー、ブラウザーバージョンのマトリックスを確認する準備はできていますか? needコードから1オンスの速度をすべて圧縮するのですか?

document.ready()は、これらの質問の多くを無関係にします。 document.ready()は、あなたの生活を楽にするために設計されました。それは小さな(そして、私は容認できると言う)パフォーマンスヒットで来ます。

4
BradChesney79

Jqueryのdocument.ready。私の意見では、それを使用するか、ページの一番下にすべてのjavascriptを置くことは両方とも有効です。そして今、質問はどちらが良いでしょうか?プログラミングスタイルの問題です。

1

いいえ、必要ありません。 bodyタグを閉じる直前にscriptタグを配置するか、IE9 +をサポートしている場合はネイティブJSを使用できます。

<script>alert('DOM Loaded!');</script>
</body>

<script>
document.addEventListener("DOMContentLoaded", function(event) { 
      // DOM has loaded ready to fire JS scripts
    });
</script>
0
mbokil