通过ajax调用内容时(使用jQuery) - 如果ajax加载内容中存在ajax交互,是否应该在该文件中再次调用jQuery?如果有只在ajax加载的内容中调用的脚本/插件,它们是应该只在ajax加载的内容中调用,还是在父文件中调用?
谢谢!
答案 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()。