gpt4 book ai didi

javascript - DOMContentLoaded 事件在任何情况下都不能被触发吗?

转载 作者:太空宇宙 更新时间:2023-11-04 16:29:29 30 4
gpt4 key购买 nike

例如,这种类型的链式事件将不起作用,因为该事件只会被触发一次。

window.addEventListener('DOMContentLoaded', function () {
alert('This should show up');
window.addEventListener('DOMContentLoaded', function () {
alert('This will never show up');
});
});

我尤其怀疑的是,如果您将脚本放在 HTML 的底部,因为它们会在 DOM 加载后被解析。此外,如果您的脚本中在事件之前有很多内容,因为事件可能会在解析器到达 addEventListener 语句之前被触发。

<!DOCTYPE html>
<html>
<head>
...
<script src="myscript.js"></script>
</body>
</html>

还有 JavaScript:

// myscript.js
// ... many things ...
window.addEventListener('DOMContentLoaded', function () {
alert('Will this always happen?');
});

我已经尝试过这个并且它有效,但我的问题是是否有任何情况不会发生,以及是否可以保证它至少会被触发一次,而且是在离线状态下。

最佳答案

不,只要脚本包含 DOMContentLoaded 的处理程序,就没有什么情况是行不通的。位于文档中 </body> 之前,而不是在其他事件处理程序内,例如嵌套 DOMContentLoaded处理程序或 window.onload处理程序,它将始终有效。

不确定你所说的“离线”是什么意思,但是只要可以获取并加载文档,无论是否在线,该事件都会触发?

关于javascript - DOMContentLoaded 事件在任何情况下都不能被触发吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39945136/

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