1

まず、タイトルが曖昧で、適切な質問が思いつかない場合はご容赦ください。

とにかく、次のように ajax ロード関数を使用して、JQuery で外部 html をロードしようとしています。

$("a").click(function(){
    $(".contentWrapper").load(pageURL+" .externalContent","ajax=true",function(){
    //some more code here
    });
});

これが(私が理解しているように)何をするかは、返されたhtmlデータから解析した後、pageURLが指すページからクラス .externalContent を持つ要素のコンテンツをロードすることです。

私の問題は、.externalContent の元のページにいくつかのスクリプトが関連付けられていることです。.externalContent がロードされたら、これらのスクリプトを実行するにはどうすればよいですか。

少なくとも私が理解しているように、スクリプトが document.ready で呼び出されたときに div が存在しないため、呼び出しページにスクリプトを配置するだけでは機能しません。

また、スクリプトを ajax 成功オプション内に配置しようとしましたが、機能していないようです。私が一晩中これにいたので、私があまり意味をなしていない場合は申し訳ありません。私はJQueryが初めてなので、このようなコードを作成するためのより良い方法を含め、助けていただければ幸いです。ありがとう!

4

1 に答える 1

1

ここでajaxComplete関数を使用するか、デリゲート関数を使用できます

http://api.jquery.com/ajaxComplete/

$(".contentWrapper").ajaxComplete(function(){
 //execute even handlers here
});

また

jquery デリゲート これは、ロードされた ajax http://api.jquery.com/delegate/の後でも、セレクターに共通です。

$("table").delegate("td", "click", function() {
  $(this).toggleClass("chosen");
});
于 2013-01-18T19:54:48.700 に答える