1

これらの3つのイベントの違いは何ですか?

どちらが他の前/後にロードされますか?

   <body> 
        <script type='text/javascript'> 
            $(document).ready(function(){
                console.log('Document %s',+new Date());
            });
            $('body').ready(function(){
                console.log('Body %s',+new Date());
            });
            $(window).ready(function(){
                console.log('Window %s',+new Date());
            }); 
        </script>
        <div>hello world</div>
    </body>

奇妙なことに、それらは私がコードに置いたのと同じ順序で起動します。現在の例では。document1つは最初にwindows発砲し、もう1つは最後に発砲します。

ps window.onload vs <body onload = "" />、window.onloadvsdocument.onloadなどを 読みました。

4

1 に答える 1

8

それらはまったく同じであり、実際に渡される引数は重要で$(...)はありません。


についてのjQueryドキュメントから.ready

.ready(ハンドラー)

ハンドラー-DOMの準備ができた後に実行する関数。

次の3つの構文はすべて同等です。

  • $(document).ready(handler)
  • $().ready(handler)(これはお勧めしません)
  • $(handler)

この.ready()メソッドは、現在のドキュメントに一致するjQueryオブジェクトでのみ呼び出すことができるため、セレクターは省略できます。

ご覧のように、引数(selector)to$()は明示的にオプションであると言われています(実行する場合$(...).ready)。このため、最終結果とは無関係であると安全に想定できます。

于 2012-07-17T20:02:07.153 に答える