0

我正在使用一些遗留的 HTML/JS 代码,我需要在其中附加到加载事件。

我正在使用的脚本在<head>标签之外。

将事件监听附加到头部之外时监听负载事件是否不可靠?

即页面是否有可能已经加载并忽略了我的事件监听器?

在我的测试中,事件侦听器被很好地触发,但我确保是否一直都是这种情况。

顺便提一句。由于遗留性质,我需要避免使用 jQuery(不愉快的一天)。

4

1 回答 1

2

附加头部外部监听的事件时监听加载事件不可靠

不,如果你从字面上谈论window.onload. window.onload在整个 HTML 被解析之后(以及在图像和样式表等任何外部资源都被完全加载之后),在这个过程的非常非常晚的时候发生。应该没问题。

有点离题,但如果你愿意,即使不使用 jQuery,你也可以获得更早的可靠调用。只需将其放在结束</body>标签之前:

<script type='text/javascript'>
    myLoadFunction();
</script>
</body>

此时,DOM 是可靠可用的,但调用发生的时间早​​得多window.onload(取决于外部资源的大小,甚至可能早几秒)。出于这个原因,Google 的 JavaScript 专家反对 jQuery 样式的“就绪”事件(参见上面的链接)的必要性。script一些“不显眼的 JavaScript”人不喜欢它(尽管对我来说,这与在head.onclick如果你继承了这个代码,那艘船已经航行了。;-)

于 2010-11-04T14:21:17.253 回答