0

で1ページのWebアプリケーションを作成しJavaScriptていjQueryます。JavaScriptソースとHTMLページを追加jQueryし、ページが完全にレンダリングされたときに呼び出される関数を登録します。

<script type = "text / javascript" src = "lib / jquery-1.8.0.js"> </ script>
<script type = "text / javascript" src = "src / myapp.js"> </ script>
<script type = "text / javascript"> $(MyApp.onReady)</ script>

それは機能しますが、 HTML内 にコードを含めるのは好きではありません。

今、私は最後の行を取り除くことができるかどうか疑問に思います。$(MyApp.onReady)HTMLで呼び出すことは絶対に必要ですか?

4

6 に答える 6

2

document.readyファイル内の に応答できmyapp.jsます。これにより、DOM ツリーを使用できるようになります。

$(document).ready(function () {
    // do whatever you want here, confident that the DOM is loaded
});

ページ全体 (画像など) がブラウザーでレンダリングされるまで待機する必要がある場合は、load イベントに応答できます。

$(window).load(function() {
    // everything is rendered in the browser
});

通常は まで待つ必要はありませんload。2 番目のスニペットに頼る前に、最初のスニペットを試すことをお勧めします。

于 2012-08-15T15:09:39.153 に答える
1

この質問を見てください:ページが完全にレンダリングされた後に javascript を実行する

基本的に、関数を window.onload に設定したいようで、これはページがレンダリングされた後に実行されます。あなたの myapp.js が見えないので、onReady 関数がそこで何をしているのかわかりません。その行を保持するかどうかは、その関数が何をするかによって異なります。おじいちゃんが言うように、その行をjavascriptファイルに入れることができます。

于 2012-08-15T15:12:57.987 に答える
1

$(document).readyHTML コントロールでのすべてのレンダリングが完了すると呼び出されます。このメソッドにコードを入れるか、メソッドを呼び出すことができます。

$(document).ready(function(){
    //your code here
    //$(MyApp.onReady) 
});
于 2012-08-15T15:08:14.023 に答える
1

$( MyApp.onReady );の中に線を入れることができますmyapp.js。注意が必要なのはjQuery、ファイルをロードする前にロードすることだけです。

于 2012-08-15T15:08:53.090 に答える
1

次のように、このコードを myapp.js ファイルの末尾に追加できます。

/* myapp.js */
var MyApp = (function(app, $) {
    // your logic...
    // defining app.onReady function...
    $(function() {
        app.onReady();
    });

    return app;
})(MyApp || {}, jQuery);
于 2012-08-15T15:10:03.993 に答える
1

MyApp.onReady()どこかに電話する必要があります。DOM にアクセスする場合 (おそらくそうなるでしょう)、はい、DOM が処理されるまで待つ必要があります。終了タグの前にrightdocument.readyを入れることMyApp.onready()で使わなくて済む。それまでに、DOM は既に解析されています。ただし、DOM にアクセスしていない場合は、どこでも実行できます。scriptbodyMyApp.onReady()

于 2012-08-15T15:12:15.563 に答える