web-dev-qa-db-ja.com

jQueryドキュメントレディ関数

次のjQueryスニペットの最終結果は同じですか?

スニペット1:

_$(function() { alert('test!'); });
_

スニペット2:

_$(document).ready(function() { alert('test!'); });
_

言い換えれば、$(function(){})$(document).ready(function() { });の省略形ですか?

私が尋ねている理由は、jQueryとjQueryUIを使用して構築した小さなアプリケーションでいくつかの奇妙な問題が発生しているためです。時折、ボタンをクリックしてフォーム送信アクションを実行すると、ブラウザウィンドウがフリーズすることがあります。いくつかのアクションを実行するまで、基になるブラウザウィンドウ(ポップアップを起動するウィンドウ)を引き続き使用できます。ユーザーは、ブラウザー(Internet Explorerはもちろん)を強制的に閉じることによってのみ続行できます。これはAcrobat PDFプラグインに関連していると思われますが、 この問題 が類似しているように見えるので、ここですべての角度をチェックしています。動作。

15
tmbrggmn

はい、それらは同等です。参考のためにこのリンクを参照してください 。ready()

8
dmarucco

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

$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)

JQuery名前空間のエイリアス

別のJavaScriptライブラリを使用する場合は、名前空間の問題を回避するために$ .noConflict()を呼び出すことをお勧めします。この関数が呼び出されると、$ショートカットは使用できなくなり、通常は$を書き込むたびにjQueryを記述する必要があります。ただし、.ready()メソッドに渡されるハンドラーは、グローバルjQueryオブジェクトに渡される引数を取ることができます。これは、他のコードに影響を与えることなく、.ready()ハンドラーのコンテキスト内でオブジェクトの名前を変更できることを意味します。

jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
});
11

$(function(){})$(document).ready(function() { })は同じです。

4
Jatin Ganhotra

はい、これは同じです。しかし、最初のものは通常、簡単にするためにjqueryで使用されます。

$(function() { 
    alert('test!'); 
});
4
Imran Khan

次のコードも機能します

$(document).ready(function(){
    alert("success");
});

[〜#〜]または[〜#〜]

$(function(){
    alert("succes");
});
3
user2496033

はい:

_$(document).ready(function() { 
  /* code */
});
_

…そして:

_$(function() { 
  /* code */
});
_

…事実上同じであり、後者は一般に前者の省略形と呼ばれます。

なぜ同じ結果が得られるのか疑問に思っている場合は、jQueryコンストラクターと関係がありますjQuery()関数、別名$()およびその許可された入力。

コンストラクターは api.jquery.com/jquery/ に文書化されており、その2つの関連オプションの概要を以下に示します。


jQuery( selector [, context ] )

要素のセットを照合するために使用されるCSSセレクターを含む文字列を受け入れます。

JQueryオブジェクトを返します。

上記のこのオプションは、次のように記述したときにjQueryコンストラクターを呼び出す方法です。

_$(document).ready(function() { /* code */ });
_

documentオブジェクトが選択され、 jQueryオブジェクト を構築するために使用されます。 DOMが完全に読み込まれると、そのjQueryオブジェクトは ready() 内でコールバック(無名関数)を呼び出します。


jQuery( callback )

DOMの読み込みが完了したときに実行される関数をバインドします。

JQueryオブジェクトを返します。

上記のこのオプションは、次のように記述したときにjQueryコンストラクターを呼び出す方法です。

_$(function() { /* code */ });
_

コールバック関数(無名関数)はjQueryオブジェクトを構築するために使用され、DOMが完全にロードされると呼び出されます。

1
jtheletter

JQuery Document ReadySnippetを作成するさまざまな方法

$(document).ready(function() { ... }); 
$(function() { ... });
jQuery(document).ready(function() { ... });
jQuery(function() { ... });

http://webiwip.com/interview-questions-answers/jquery-interview-questions/1051

1
Sk Sharma