目次:
- 準備ができました。 html $(document)。準備完了(changeMe);関数changeMe(){$( "#出力") html( "私は変更しました");}
- bodyタグに
- を次のコードに追加します。
多くのHTML5とCSS3のページには、初期化機能が必要です。 body onloadメカニズムは、ドキュメントが読み込まれるとすぐにページをロードするためにDOM / JavaScriptで頻繁に使用されます。これは早期に実行され、残りのページを設定する機能です。 body onloadはこの仕事をうまくやっていますが、伝統的なテクニックにはいくつかの問題があります。
-
HTMLに変更を加える必要があります。 JavaScriptコードはHTMLと完全に分離する必要があります。 JavaScriptで動作させるには、HTMLを変更する必要はありません。
<! - 1 - > -
まだタイミングが悪いです。 body onloadで指定されたコードは、ページ全体が表示されるまで実行されません。 DOMがロードされた後でコードが登録されていても、ページが表示される前に 登録されている方が良いでしょう。 $(文書)の使い方ready() jQueryは、これらの欠点を克服するボディ・ロードに代わる素晴らしい方法です。どのように動作するかを確認するコードを見てください: <! - 2 - >
準備ができました。 html $(document)。準備完了(changeMe);関数changeMe(){$( "#出力") html( "私は変更しました");}
文書を使用する。準備完了の仕組み
これは変更されましたか?このコードでは、初期化コードの実行にjQuery技法を使用しています。bodyタグに
onload
属性がなくなりました。
-
これはjQueryプログラミングの共通の機能です。 jQueryはJavaScriptコードをWebページにアタッチできるため、HTMLはJavaScriptへの直接リンクを持っていません。
-
このテクニックは、DOMが読み込みを終了したとき(フォームのすべての要素にアクセスできるように)、ページが表示される前に(フォームの効果がユーザーに瞬時に表示されるように) )。 $ document は、ドキュメント全体からjQueryオブジェクトを作成します。 $()関数内でドキュメントを指定することによって、ドキュメント全体をjQueryオブジェクトに変換できます。この場合、引用符は使用しないことに注意してください。
-
指定された機能が自動的に実行されます。 この特定のケースでは、changeMe()関数を実行して、ready()メソッドのパラメータに配置します。これは変数としてのchangeMeを参照するため、引用符や括弧はありません。 jQueryが関数をパラメータとして期待している他の場所がいくつか(特にイベント処理時に)表示されます。このような関数は、ある種のイベントが発生した後に呼び出されるため、
-
コールバック関数 と呼ばれることがよくあります。また、キーボードイベント、マウスの動き、AJAXリクエストの完了に応答するコールバック関数もあります。
文書の代替案。準備中 初期化コードを実行するのが一般的なので、いくつかのショートカットが表示されることがあります。 $(文書)を短縮できます。準備完了(changeMe);
を次のコードに追加します。
$(changeMe);
このコードが関数内で定義されておらず、changeMeがページ上で定義された関数である場合、jQueryはドキュメントのように関数を自動的に実行します。準備ができているアプローチ。
無名関数を直接作成することもできます:
$(document)。準備(function(){$( "#output").html( "私は変更しました");});
この(無名関数)メソッドは面倒ですが、このテクニックを使用してjQueryコードが頻繁に表示されます。 init()という名前の関数を作成し、次のような行で呼び出すことができます:
$(init);
この手法は簡単で分かりやすいですが、Web上のコードを調べるときには、他のバリエーションが発生する可能性があります。