6

$(document).ready() で外部 jQuery を使用して、ドキュメントの準備完了イベントが発生した後に広告を挿入しています。

$(document).ready( function() {
  $('#leaderboard').html("<strong>ad code</strong>");     
});

これは、広告の読み込みが遅いために UI がブロックされるのを防ぐためです。これまでのところ、うまく機能しています。

ここで、CMS システムを介してさらに広告を挿入する必要があります。これは外部 JS ファイルの一部にすることはできません。そのため、2 つ目のドキュメント準備完了イベントを使用して、インライン スクリプト タグを使用して挿入することはできますか? その場合、最初に外部 JS ドキュメントの準備完了イベントまたはインライン スクリプトを実行する順序はどうなりますか?

4

5 に答える 5

10

必要な数のイベント メソッドを使用できます。jquery はそれらをキューに結合します。メソッド呼び出しの順序は定義の順序と同じです - 最後に追加されたものが最後に呼び出されます。

また、ajax を使用してスクリプトで html コードを読み込むことができ、コードが DOM に読み込まれるときに $().ready() も呼び出されるため、広告を動的に読み込むことができることも便利です。

于 2009-04-17T10:04:06.997 に答える
9

はい、複数の $(documents).ready() を追加しても問題ありません。すべてが準備完了イベントで実行されます。

ただし、コード サンプルが間違っていることに注意してください。$(document).ready() は、式ではなく関数を取ります。したがって、次のような関数をフィードする必要があります。

 $(document).ready( function() {
  $('#leaderboard').html("<strong>ad code</strong>");     
 });

その関数は、ドキュメントの準備ができたときに実行されます。

于 2009-04-17T10:16:05.627 に答える
6

Multiple Document Ready に関する簡単なチュートリアルを次に示します。

于 2009-04-17T10:04:39.367 に答える
3

jQuery の方法の追加のボーナスは、複数の ready() 定義を持つことができることです。これは、すべての jQuery イベントに当てはまります。

$(document).ready(function () { alert("ナンバーワン"); });

$(document).ready(function () { alert("Number Two");

于 2009-04-17T10:15:34.757 に答える
1

JQuery は、定義された順序で準備完了関数を呼び出します。最初にデータをロードして実行を遅らせたい場合は、holdReady()を使用します。

于 2011-08-05T13:44:14.623 に答える