当我几年前学习 JavaScript 时,jQuery 仍然被认为是良好的标准实践,并且建议从 $document.ready()
事件处理程序调用主要应用程序代码,所以以确保 DOM 可以安全使用。
自从我上次从事 JavaScript 工作以来,快进了几年,现在的共识似乎是避免使用 jQuery。此外,由于脚本通常在 HTML 文档的最后加载,因此似乎不再需要 $document.ready()
。
有问题$(document).ready equivalent without jQuery我看到了这段代码的几种现代替代方案。但是,我仍然不清楚包括其中任何一项是否被视为标准做法或一般建议。
所以我的问题是关于当前的做法:我是否应该始终包含此类代码作为 Vanilla JS 应用程序的入口点,或者相反,现在开始加载没有任何包装器的 JS 应用程序是否被认为是安全的?
一个等价物是 DOMContentLoaded
事件
The DOMContentLoaded event fires when the initial HTML document has
been completely loaded and parsed, without waiting for stylesheets,
images, and subframes to finish loading.
来源:https://developer.mozilla.org/en-US/docs/Web/API/Window/DOMContentLoaded_event
window.addEventListener('DOMContentLoaded', (event) => {
console.log('DOM fully loaded and parsed');
});
为了解决您问题的最后一部分,我会说“是!” ^^
您可以在此“主函数”范围之外定义您的自定义函数,但在对 DOM 执行任何操作之前等待事件完成。