如何使用jQuery ajax继承父javascript

如何使用jQuery ajax继承父javascript,jquery,Jquery,我使用jQuery.ajax调用一个脚本,该脚本将结果呈现为html片段,并将其加载到一个div中,如下所示: jQuery.ajax({type:'POST',data:{'var': '1'}, url:'/some/script',success:function(data,textStatus){jQuery('#myDiv').html(data);}}); 脚本执行并将页面加载到我的div中。我遇到的问题/难题是,我调用ajax的父页面的页眉中包含一些jquery脚本,这些脚本在页

我使用jQuery.ajax调用一个脚本,该脚本将结果呈现为html片段,并将其加载到一个div中,如下所示:

jQuery.ajax({type:'POST',data:{'var': '1'}, url:'/some/script',success:function(data,textStatus){jQuery('#myDiv').html(data);}});
脚本执行并将页面加载到我的div中。我遇到的问题/难题是,我调用ajax的父页面的页眉中包含一些jquery脚本,这些脚本在页面加载时运行,例如日期选择器、labelify、ui.selectmenu选择框等。但是,一旦我的子页面加载,它就不会继承这些脚本应用的样式/功能。我理解这是因为这些脚本在加载父页面时执行,而在加载子页面时不会触发。问题:

子HTML页面是否应该是一个完整的HTML页面,具有自己的标题和正文,并包含所有需要的脚本,即使父页面中包含相同的脚本。右非子页面只是一个html片段

如果它不应该是一个完整的HTML页面,那么我应该在子页面HTML片段的主体中包含所有脚本吗

是否有一种简单的方法可以在子加载时触发所有jquery父脚本。基本上是为家长假装页面加载

还有其他想法和建议吗


谢谢

如果将要在文档onload中运行的脚本放在包含的文件中,则在加载内容时,它将与父脚本一起运行

创建一个新文件,并将其加载到父文件中查看。不要在子文件中包含jQuery脚本,这样它就不能单独访问$document

<script type="text/javascript">
$(document).ready(function(){
    alert('a');
});
</script>
要使来自父级的任何加载时运行代码应用于子级,您可能必须创建一个函数来完成父级中的所有操作,并允许子级在加载时调用它

当前父级:

<script>
    $(document).ready(function(){ doSomething(); doSomethingElse(); });
</script>
变成

<script>
    $(document).ready(function(){ loaded(); });
    function loaded () { doSomething(); doSomethingElse(); }
</script>

然后在子级中调用$document.readyfunction{loaded;};还有。

如果您正在寻找事件处理程序,请尝试。如果在onload上有通用的ui,比如

$(".datepicker").datepicker();
尝试将其包装到具有特定焦点的函数中:

function doLayout(focus)
{
$(focus).find(".datepicker").datepicker();
}

现在,您可以在加载AJAX内容后立即调用doLayoutmyDiv。对于$.ready,请使用doLayoutbody。

如果仍然需要通过Ajax加载其余的HTML代码,那么为什么要在页面加载时运行所有这些脚本?在Ajax响应之后运行这些脚本会更有意义。。。