在加载ajax的内容中加载jquery

时间:2013-03-19 17:36:47

标签: jquery

通过ajax调用内容时(使用jQuery) - 如果ajax加载内容中存在ajax交互,是否应该在该文件中再次调用jQuery?如果有只在ajax加载的内容中调用的脚本/插件,它们是应该只在ajax加载的内容中调用,还是在父文件中调用?

谢谢!

1 个答案:

答案 0 :(得分:1)

对你的问题的简短回答是,我建议处理与原始ajax调用中的ajax加载内容相关的任何内容(或者你所谓的" parent"文件)。鉴于您没有发布任何代码,我不能使用任何特定于您的方案的示例,但是您想要做的事情是这样的:

$.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.
}

如果你把你的javascript放在ajax加载的内容中,我担心的一个问题是你的ajax加载的脚本可能有假定存在于" parent"文件,但是应该改变(IE你在一个完全不同的上下文中加载你的ajax内容),突然你的代码中断了。

此外,如果您多次重新加载相同的内容,那么加载ajax的代码会被多次加载。

最后,当内存服务时,如果你的代码在<script>块内,我不相信它会在通过AJAX加载时自动被调用(试图具体地找到它......待命)

希望这是有道理的。

修改

关于<script>块加载,请查看this answer,它确认了我写的内容。您必须对<script>块内容执行eval()。