2009-07-21 10 views
8

私は、ドキュメントが準備できたら関数を実行するようにjQueryに指示する4つの方法を見てきました。これらはすべて同等ですか?jQuery ready()の4つのバリエーション - 違いは何ですか?

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

$().ready(function() { 
    alert('$().ready()'); 
}); 

$(function() { 
    alert('$()'); 
});  

jQuery(function ($) { 
    alert('jQuery()'); 
}); 
+2

ところで、私は '$(ウィンドウ考える見つけることができます空の

実際の例を関数のPARAMを残すことができます。たとえば、 ).ready(...) 'も動作します。 – geowa4

答えて

11

違いはありません。

$は、jQueryと同じです。未対応のソースを表示すると、var $ = jQuery = ...またはその旨が表示されます。

jQuery機能は、それのタイプは、パラメータのチェック、それが関数である場合、それはdocumentを使用するパラメーターはデフォルトなしjQueryを呼び出す$(document).ready(...)

と同じ扱い。従って$()$(document)は同じです。 Firebugで試してみてください。

+2

これは第2のものを説明していない – Draemon

+0

くそ、私はそれらをすべて得たと思った。つかまっている。 – geowa4

+0

は、2番目のものを含むように編集されました。 – geowa4

4

re:Geroge IVさんのコメントは$()== $(document)です。 unminifiedソースから(INIT内部的に呼び出されるものです):ソースからも

init: function(selector, context) { 
    // Make sure that a selection was provided 
    selector = selector || document; 

、以前の会話をバックアップするために:

// HANDLE: $(function) 
    // Shortcut for document ready 
    } else if (jQuery.isFunction(selector)) 
     return jQuery(document).ready(selector); 

これはコミュニティのwikiする必要があります。私はいつものjQueryの内部の仕組みに興味を持っていました、今私はここで

+0

良い狩猟@Davd! – geowa4

+0

btw、 "これはコミュニティのwikiにすべきです" < - それなぜではないですか? – geowa4

+0

Ahそれを行う方法やできるかどうかわからないが、私はこれにリンクしているものを開いた: - D –

0

:-)探し始めるための言い訳を持っていた別の一つだ - このような開始...その後

(function (jQuery) { 

終了します...

})(jQuery); 

例はここにある: http://jsfiddle.net/C2qZw/23/

0

また、それに言及されるべきです、関数に渡すシンボルは関数内で使用されます。

$(function(jQuery) { 
    // now I can use jQuery instead $ 
    jQuery("body").append("<div></div>"); // adds div to the end of body element 
}); 

あなたは$を使用したい場合 - あなたはこの状況ににあなたがここにhttp://jsfiddle.net/yura_syedin/BNgd4/

関連する問題