2013-03-19 47 views
0

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

谢谢!

+0

问题不清楚,难以理解的问题陈述。请更具体。 – SachinGutte 2013-03-19 17:40:15

+0

我故意成为一般人,因为我想理解这个原则。 – kneidels 2013-03-19 17:47:30

回答

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,我担心的一个问题是,你的ajax加载的脚本可能具有假定存在于“父”文件中的依赖关系,但是如果发生这种变化(IE是在完全不同的上下文中加载你的ajax内容),突然你的代码休息。

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

最后,由于记错的话,如果你的代码是一个<script>块内,我不相信通过AJAX加载时,它会自动被调用(试图具体找出这...待机)

希望这就说得通了。

编辑

关于<script>块装载,检查出this answer,这证实了我写的。您必须对<script>块内容执行eval()。

+0

谢谢Teeg - 完美 – kneidels 2013-03-20 07:19:44