回答:
$(function() { ... });
jQueryの省略形です
$(document).ready(function() { ... });
(特に)ページのすべてのDOM要素を使用する準備ができたら、関数を確実に呼び出すように設計されています。
しかし、私はそれがあなたが抱えている問題ではないと思います-「どういうわけか、いくつかの関数は呼び出せず、内部でそれらの関数を呼び出さなければならない」という意味を明確にできますか?おそらく、期待どおりに機能していないものを示すコードを投稿しますか?
編集:質問をもう一度読んでください。ページの読み込みが完了する前に関数が実行されているため、正しく実行されない可能性があります。$(function)に置くと、実際に修正されます!
(function () { ... })();
。()
関数を呼び出すには、追加する必要があります。
$()
を使用する$( document ).ready()
場合があります。jQueryの経験がない人が見る可能性があるコードを記述している場合は、長い形式を使用するのが最善です。」- learn.jquery.com
それはちょうどの省略形だ$(document).ready()
のように、: $(document).ready(function() {
YOUR_CODE_HERE
});
。DOMの読み込みが完了する前に関数が実行されているため、これを使用する必要がある場合があります。
すべてがここで説明されています:http : //docs.jquery.com/Tutorials : Introducing_$(document).ready()
JavaScriptとjQueryメソッドを混同していると思います。バニラまたはプレーンJavascriptは次のようなものです。
function example() {
}
その性質の関数はいつでもどこでも呼び出すことができます。
jQuery(Javascriptに基づいて構築されたライブラリ)には、通常、呼び出される前にDOMを完全にレンダリングする必要がある組み込み関数があります。これが完了するときの構文は次のとおりです。
$(document).ready(function() {
});
そのため、通常、「」$
または「」という接頭辞が付いたjQuery関数は、jQuery
そのメソッド内から呼び出されます。
$(document).ready(function() {
// Assign all list items on the page to be the color red.
// This does not work until AFTER the entire DOM is "ready", hence the $(document).ready()
$('li').css('color', 'red');
});
そのブロックの疑似コードは次のとおりです。
ドキュメントオブジェクトモデルの$(document)
準備ができたら.ready()
、次の関数を呼び出しますfunction() { }
。その関数で<li>
、ページ上のすべてのを確認$('li')
し、jQueryメソッド.CSS()を使用してCSSプロパティ「color」を値「red」に設定します.css('color', 'red');
これはのショートカット$(document).ready()
であり、ブラウザがページの読み込みを完了したときに実行されます(つまり、「DOMが使用可能な場合」)。http://www.learningjquery.com/2006/09/introducing-document-readyを参照してください。example()
ブラウザがページの読み込みを完了する前に呼び出しを行おうとすると、機能しない場合があります。