通过 ajax 调用内容时(使用 jQuery) - 如果在 ajax 加载的内容中有 ajax 交互,是否应该在该文件中再次调用 jQuery?如果有脚本/插件只能在 ajax 加载的内容中调用,它们应该只在 ajax 加载的内容中调用,还是在父文件中调用?
谢谢!
通过 ajax 调用内容时(使用 jQuery) - 如果在 ajax 加载的内容中有 ajax 交互,是否应该在该文件中再次调用 jQuery?如果有脚本/插件只能在 ajax 加载的内容中调用,它们应该只在 ajax 加载的内容中调用,还是在父文件中调用?
谢谢!
对您的问题的简短回答是,我建议处理与原始 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.
}
如果您要将您的 javascript 放在 ajax 加载的内容中,我会担心的一个问题是您的 ajax 加载脚本可能具有假定存在于“父”文件中的依赖项,但是如果这种情况发生变化(IE 你加载您的 ajax 内容在完全不同的上下文中),突然您的代码中断了。
此外,如果您多次重新加载相同的内容,您的 ajax 加载代码将被多次加载。
最后,作为记忆服务,如果您的代码在一个<script>
块内,我不相信它会在通过 AJAX 加载时自动被调用(试图具体找出这一点......等待)
希望这是有道理的。
编辑:
关于<script>
块加载,请查看这个答案,它证实了我写的内容。您必须对<script>
块内容执行 eval() 。