加载外部html然后执行脚本

时间:2013-01-18 19:43:58

标签: jquery ajax

首先,请原谅我,如果标题含糊不清,似乎无法想出正确的问题。

无论如何,我正在尝试使用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的新手,非常感谢任何帮助,包括更好的方法来编写这样的东西。谢谢!

1 个答案:

答案 0 :(得分: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");
});