0

(jQuery を使用して) ajax 経由でコンテンツを呼び出す場合 - ajax で読み込まれたコンテンツに ajax インタラクションがある場合、そのファイルで jQuery を再度呼び出す必要がありますか? ajaxで読み込まれたコンテンツでのみ呼び出されるスクリプト/プラグインがある場合、それらはajaxで読み込まれたコンテンツまたは親ファイルでのみ呼び出されるべきですか?

ありがとう!

4

1 に答える 1

1

あなたの質問に対する簡単な答えは、元の ajax 呼び出し (または、「親」ファイルと呼ばれる) で ajax が読み込まれたコンテンツに関連するものを処理することをお勧めします。コードを投稿していないため、シナリオに固有の例を使用することはできませんが、やりたいことは次のとおりです。

$.ajax({
  url: "/foo",
  success: function(response) {
    do_something_related_to_this_content(response);
  }
});

do_something_related_to_this_content = function(response){
    // This function contains the code you originally 
    // wanted to put in the ajax-loaded content.
}

ajax でロードされたコンテンツ内に JavaScript を配置する場合、私が心配する問題の 1 つは、ajax でロードされたスクリプトが、「親」ファイルに存在すると想定される依存関係を持っている可能性があることです。まったく異なるコンテキストで ajax-content を使用すると)、突然コードが壊れます。

さらに、同じコンテンツを複数回リロードすると、ajax でロードされたコードが複数回ロードされます。

最後に、メモリが機能するため、コードが<script>ブロック内にある場合、AJAX を介してロードされたときに自動的に呼び出されるとは思いません (これを具体的に見つけようとしています... 待機してください)

それが理にかなっていることを願っています。

編集

<script>ブロックの読み込みについては、この回答を確認してください。これにより、私が書いたことを確認できます。<script>ブロックのコンテンツに対して eval() を実行する必要があります。

于 2013-03-19T18:05:26.670 に答える