2011-12-29 24 views
0

このjquery関数呼び出しを別の関数にラップする背後にある概念は何ですか?

 
jQuery(function(){ 
    jQuery('ul.sf-menu').superfish(); 
}); 

を使用して、ちょうどこれを使用しての違いは何ですか?

 

jQuery('ul.sf-menu').superfish(); 

これまでと同じ結果が得られていますが、これまでの公式コードの参考文献には、前者が含まれています。誰か説明できますか?

私は投稿What does (function($) {})(jQuery); mean?を読んでいますが、私はまだ違いが何であるかは分かりません。

答えて

4

jQueryまたは$内の任意の関数をラップすると、ドキュメント上ですぐに実行されるのではなく、すぐに実行されます。

これにより、ドキュメントにプラグインが初期化され、必要なプラグインスクリプトが確実にページにロードされます。

jQuery(function(){ 
    jQuery('ul.sf-menu').superfish(); 
}); 

代わりに、あなたはまた、コードが解析されると、これは

jQuery(document).ready(function(){ 
    jQuery('ul.sf-menu').superfish(); 
}); 

これはすぐに初期化されます使用することができますが、プラグインのスクリプトはとてもお勧めできませんロードされていない場合は、エラーをスローする可能性があります。

jQuery('ul.sf-menu').superfish(); 
+0

だから、それは全く同じですか?それは知って良いです、私は明らかに両方の理由を理由に使用していません。ありがとうございました。 – Maxx

4

あなたがそのパラメータとして機能してjQuery()機能を使用する場合、それは$(document).ready()の別名として機能します。

関連する問題