gpt4 book ai didi

javascript - $(document).ready 等效于异步加载的内容

转载 作者:太空狗 更新时间:2023-10-29 16:02:38 24 4
gpt4 key购买 nike

我有一个 UI(我们称之为第 1 页),其中包含大量 HTML 和 JavaScript。单击第 1 页上的某些元素时,将打开一个 jQuery UI 对话框并加载部分页面(我们称之为第 2 页):

$("#myDialog").dialog({ modal: true /* Other options */ });
$('#myDialog').load('page2Link', { }, function () { });
$('#myDialog').dialog('open');

第 2 页还有一堆 HTML 和 JavaScript。简化示例:

<script src="Scripts/page2Stuff.js" type="text/javascript"></script>

<div id="page2Body">
<!-- More elements -->
</div>

我在 page2Stuff.js 中有 JS,需要等到第 2 页完全呈现。我可以在这个部分页面中使用某些东西来查看新的 HTML 是否已添加到 DOM 中吗?我尝试了以下方法:

$('#myDialog').load('page2Link', { }, page2ReadyFunction);

找不到 page2ReadyFunction。我假设是因为 .loadpage2Stuff.js 中运行 JavaScript,然后丢弃它或其他东西?

我现在能够让它工作的方式是使用 setTimeout 并不断检查 $('#page2Body') 是否返回除此之外的任何内容看起来不太理想。

最佳答案

与其将 script 标记放在第二页的开头,不如将其放在末尾,在所有 HTML 之后,如下所示:

<div id="page2Body">
<!-- More elements -->
</div>

<script src="Scripts/page2Stuff.js" type="text/javascript"></script>

由于代码将根据源顺序执行,您可以放心,HTML 将在您的脚本运行时准备就绪。

关于javascript - $(document).ready 等效于异步加载的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com