0

私はいくつかのコードを継承しました。私がやりたいことは、具体的にはアラート用の jQuery コードを実行することだけです。

jQuery/JavaScript を使用してそれを行う方法を知っていますが、次のように既に持っているものを使用できるかどうかはわかりました。

<script>
  $LAB
  .script("js/lib/jquery-1.7.1.min.js").wait()
  .script("js/lib/jquery.mobile-1.1.0.min.js").wait()
  .script("../js/mobile/config/buildfile.js").wait()
  .script("js/init.js")
  .wait(function () {
    $(function() {
    setupHelpers();
    loadApp(true,
      function () {
      },
      function () {
      });
    });
  });
</script>

document.ready を引き続き使用する必要がありますか、それとも上記のコードのどこかにそのアラートを配置できますか? ありがとう

4

1 に答える 1

0

DOMready を待つ必要があるかどうかの答えは、LABjs が含まれているかどうかとは別です。「DOMready」と「scripts are finished and ready」を混同するのはよくある誤解ですが、実際にはこれらは 2 つの別個のイベントであり、必要に応じて個別に処理する必要があります。

したがって、特定の質問に答えるには、DOMready を待つべきかどうか...答えは、DOM が必要かどうか、またはアラートを表示しないかによって異なります。通常のダイアログ ポップアップを使用してユーザーに警告している場合は、alert()そうではありません。<div> を DOM に挿入してアラートを表示することでユーザーに「アラート」を送信するプラグインを使用している場合は、確かに DOM を待つ必要があります。

何をするにせよ、「スクリプトが読み込まれた」イベント (最終wait(..)呼び出しで取得するもの) が DOM の準備ができていることを意味するという誤解に陥らないでください。これは必ずしも真実ではありません。


ルール 1: 何らかのタスクで DOM が必要な場合は、常にDOMready イベント ハンドラーを使用して待機し、想定しないでください。

ルール 2: 一部またはすべてのスクリプトの読み込みが完了するまで待機する必要がある場合は、LABjs などのスクリプト ローダーが提供するようなスクリプト読み込みイベントを使用します。

ルール 3: 読み込みを完了するために DOM とスクリプトの両方が必要な場合は、上記で行ったように、スクリプト読み込みハンドラーに DOMready ハンドラーを埋め込むことにより、両方のイベントを構成します。

于 2012-05-31T15:26:40.470 に答える