0

私は次の構造を持っています(簡略化):

// In <head>
$(document).ready(function(){
  // first event
});

// Near the end of <body>
// jQuery library is included at this point
$(document).ready(function(){
  // second event
});

そして、ブラウザ$は、最初のイベント中にオブジェクトが定義されていないというエラーを表示します。jQueryという単語に置き換えてみましたが、jQueryが定義されていないと表示されます。

最初のイベントはjQueryライブラリが読み込まれる前に呼び出されることに気付きましたが、これがポイントでしたがdocument.ready、jQueryライブラリと同じページにある限り、どこからでも呼び出すことができます。

4

1 に答える 1

3

のポイントは$(document).ready(、DOMの準備が整うのを待って、DOM要素を照会できるようにすることです。jQueryが必要なため、ロードしていないと最初の行を解釈できません。

jQueryをインポートする前に最初のコードを本当に作成したい場合は、次のようにします。

window.addEventListener('load', function(){
     // here you can use jQuery (and the DOM too)
});

しかし、jQueryのインポート後にコードを単純に移動しない理由がわかりません。

于 2013-01-23T14:33:17.273 に答える