Jquery文档准备在动态加载的HTML上提前启动
Jquery document ready on dynamically loaded HTML fires early
我正在加载如下动态内容:
$('#my-div').load('my.html');
在my.html里面是这样的代码
<html>
<head>
</head>
<body>
<script>
$(function(){
alert('should fire later');});
</script>
</body>
<script>
alert('should fire first!');
</script>
</html>
最初my.html是加载在iframe中,一切都很好。
然而,为了重构和现代化的代码,它被改为使用ajax加载。但是,现在执行的顺序颠倒了,因为从技术上讲,ready事件已经在父页面上触发了。
这样做的问题是存在依赖关系,这些依赖关系要求事件以正确的顺序触发。我也在犹豫是否要将脚本块移动到更高的位置,因为这段代码被过度重用,我不知道还有什么会中断。虽然在烟雾测试中,移动脚本块在我正在工作的一个页面上工作。
是否有一个使用jquery ajax加载并保持脚本执行的原始预期顺序?
试试这个:
<html>
<head>
</head>
<body>
<script>
function later () {
alert('should fire later');
}
</script>
</body>
<script>
alert('should fire first!');
later();
</script>
</html>
如果像这样检查加载状态会发生什么?
<html>
<head>
</head>
<body>
<script>
jQuery(window).load(function () {
alert('page is loaded');
});
</script>
</body>
</html>
但是,您可以使用以下方法检查Ajax加载状态:
$( document ).ajaxComplete(function( event,request, settings ) {
$( "#my-div" ).append( "<span>Request Complete.</span>" );
});
你可以在这里找到有用的信息:AjaxComplete()
相关文章:
- Meteor:在启动时将html注入客户端文件
- 在本地启动HTML文件
- 在呈现HTML样式和脚本时加载启动页
- 使用html/javascript启动小部件
- 无法从html onclick启动javascript函数
- 为什么可以't我在html上启动了我的LibGDX项目
- 创建/使用简单的美制到公制转换器的问题.(HTML/JavaScript)函数未启动
- Windows 10 UWP HTML/Winjs应用程序从共享魅力启动时未接收到激活的事件
- javascript获取启动onclick函数的html元素
- ASP.NET-HTML页面在由Visual Studio启动后在外部启动时看起来有所不同
- 在注入的html按钮上启动弹出窗口
- Jquery:是什么HTML元素启动了ajax
- 在 HTML 页面中嵌入动画 SVG,暂停(不启动动画)
- 从 PHP echo 启动 2 个 HTML / JavaScript 弹出窗口
- 在浏览器中从崇高的文本启动 HTML/Js 代码 2.
- Jquery 复制页面的 html,就像 jquery 滑块启动之前一样
- 如何从 HTML 文档中的外部 JS 调用/启动此函数
- 为什么 Meteor 在使用“”启动 HTML 文件时不渲染任何内容
- 在不更改 html 内容的情况下“启动”iframe
- 没有节点服务器的Angular2应用不能从index.html启动