我正在使用一些遗留的 HTML/JS 代码,我需要在其中附加到加载事件。
我正在使用的脚本在<head>
标签之外。
将事件监听附加到头部之外时监听负载事件是否不可靠?
即页面是否有可能已经加载并忽略了我的事件监听器?
在我的测试中,事件侦听器被很好地触发,但我确保是否一直都是这种情况。
顺便提一句。由于遗留性质,我需要避免使用 jQuery(不愉快的一天)。
我正在使用一些遗留的 HTML/JS 代码,我需要在其中附加到加载事件。
我正在使用的脚本在<head>
标签之外。
将事件监听附加到头部之外时监听负载事件是否不可靠?
即页面是否有可能已经加载并忽略了我的事件监听器?
在我的测试中,事件侦听器被很好地触发,但我确保是否一直都是这种情况。
顺便提一句。由于遗留性质,我需要避免使用 jQuery(不愉快的一天)。
附加头部外部监听的事件时监听加载事件不可靠
不,如果你从字面上谈论window.onload
. window.onload
在整个 HTML 被解析之后(以及在图像和样式表等任何外部资源都被完全加载之后),在这个过程的非常非常晚的时候发生。应该没问题。
有点离题,但如果你愿意,即使不使用 jQuery,你也可以获得更早的可靠调用。只需将其放在结束</body>
标签之前:
<script type='text/javascript'>
myLoadFunction();
</script>
</body>
此时,DOM 是可靠可用的,但调用发生的时间要早得多window.onload
(取决于外部资源的大小,甚至可能早几秒)。出于这个原因,Google 的 JavaScript 专家反对 jQuery 样式的“就绪”事件(参见上面的链接)的必要性。script
一些“不显眼的 JavaScript”人不喜欢它(尽管对我来说,这与在head
.onclick
如果你继承了这个代码,那艘船已经航行了。;-)