-3

Jquery が正常にロードされた後、Jquery がロードされてコールバックが作成されるのを待つために使用できる JavaScript コード ラップはありますか?

このようなもの

JqueryWait(function(){
   //my magnificent jquery codes ^^
});

このようなコードラップが欲しい...

説明: 私は headjs を使用しており、jquery を headjs の別のコードにロードしました。現在、私の他のスクリプトはjqueryに依存しているため、他のスクリプトはjqueryがすでにロードされているかどうかを知る必要があります。headjs のコールバック関数については知っていますが、他のスクリプトをコールバック関数に配置することはできません

4

4 に答える 4

1

これを試して:

function JqueryWait(fn) {
    if (jQuery) fn();
    else setTimeout(function() { JqueryWait(fn); }, 100);
}

JqueryWait(function(){
   //my magnificent jquery codes ^^
});
于 2012-04-30T04:18:37.803 に答える
0

ドキュメント内でjavascriptファイルの前にjQueryファイルを配置している限り(両方のファイルを1つのファイルに配置してもかまいません.js)、コードを開始する前にjQueryをロードする必要があります。そうしないと、jQueryが正しく読み込まれませんでした。このフォールバックメソッドを使用して、スクリプト内のjQueryを確認できます。

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/js/jquery-1.7.2.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>

CSSを介して-トリック

ページの読み込み後にjQueryを読み込む場合は、2つのオプションがあります。jQueryをソースするスクリプトタグをDOMに挿入し、ドキュメントの読み込みを待つか(上記の例のように)、RequireJSのような非同期ローダーを使用します(正直言ってほとんど同じことを行いますが、依存関係の管理などの他の多くの目的に使用する方が良いです) 。

注:他の回答は$(function(){}):を使用して

このメソッドは、DOMが読み込まれるのを待つだけで、コードを実行する前にjQueryの存在をチェックしません。

于 2012-04-30T04:23:07.863 に答える
0
$(function() {
// code jere... jquery is loaded
});

詳細: http://api.jquery.com/ready/

于 2012-04-30T04:12:19.407 に答える
-1

これを行うために追加の機能は必要ありません。これにはjQuery$(document).ready(function() { });で十分です。

$(function() {
    //ever code written inside here is run, after the jQuery & DOM is ready
});

とにかく、jQueryがロードされているかどうかを確認する別の方法があります

if (typeof jQuery == 'undefined') {
   //... jquery not loaded
}
于 2012-04-30T04:15:21.390 に答える