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 delegate 这对于选择器来说是通用的,即使在它加载了 ajax http://api.jquery.com/delegate/

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