gpt4 book ai didi

javascript - 推迟 JavaScript 执行,直到内容添加到文档中

转载 作者:行者123 更新时间:2023-11-28 02:50:24 28 4
gpt4 key购买 nike

我正在尝试使用 Ajax 将一些内容加载到页面中。加载的 html 包含一些 JavaScript 代码。即使代码包装在 $(document).ready 中,它也会在内容插入文档之前执行,因为在加载内容时父文档的 Dom 已准备就绪。

如何推迟代码的执行,直到内容插入到文档中。这是我尝试加载的 html(这是 openid-selector 的代码)

<script type="text/javascript" src="/js/openid-jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
alert('ajax-html');
openid.init('openid_identifier');
});
</script>
<!-- Simple OpenID Selector -->
<form action="try_auth.php" method="get" id="openid_form">
<input type="hidden" name="action" value="verify" />

<fieldset>
<legend>Sign-in or Create New Account</legend>

<div id="openid_choice">
<p>Please click your account provider:</p>
<div id="openid_btns"></div>
</div>

<div id="openid_input_area">
<input id="openid_identifier" name="openid_identifier" type="text" value="http://www.joycebabu.com" />
<input id="openid_submit" type="submit" value="Sign-In"/>
</div>
</fieldset>
</form>

更新:删除了 noscript 标签

最佳答案

问题似乎在于 openid.init() 正在加载自己的数据,而您希望在同步加载数据后对其进行操作。有几个解决方案:

关联一个回调函数,该函数在异步加载完成时执行。 openid lib 不提供此功能吗?

如果您在将数据元素添加到 DOM 之前知道要操作的数据元素的有效选择器,则可以使用 .live() .

我注意到您正在使用 noscript 标签。我强烈建议不要这样做。通过 JS 完成所有 DOM 操作。

关于javascript - 推迟 JavaScript 执行,直到内容添加到文档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3896548/

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