我在stackoverflow中看到了这个问题,但觉得根本没有答案。
有$(document).ready
必要吗?
我在页面底部链接了我所有的 javascript,所以理论上它们都在文档准备好之后运行。
我在stackoverflow中看到了这个问题,但觉得根本没有答案。
有$(document).ready
必要吗?
我在页面底部链接了我所有的 javascript,所以理论上它们都在文档准备好之后运行。
有
$(document).ready
必要吗?
如果您将所有脚本都放在</body>
结束标记之前,那么您所做的就是完全相同的事情。
此外,如果脚本不需要访问 DOM,那么除了可能依赖于其他脚本之外,它在哪里加载都无关紧要。
对于许多 CMS,您没有太多选择脚本加载位置的选择,因此模块化代码使用document.ready
事件是一种很好的形式。如果你在别处重用旧代码,你真的想回去调试它吗?
作为旁注:您应该使用jQuery(function($){...});
而不是$(document).ready(function(){...});
因为它强制别名为$
.
不,如果您的 javascript 是关闭前的最后一件事,您将不需要添加这些标签。
作为旁注,$(document).ready 的简写是下面的代码。
$(function() {
// do something on document ready
});
这个问题可能很好。你读过它吗? jQuery:如果页面底部有外部 JS,为什么要使用 document.ready?
不,如果您知道您没有发生任何延迟的事情,则没有必要 - 而且在大多数情况下,您会知道您是否已经从上到下开发了您正在处理的内容。
——当你引入别人的代码时,没有彻底审计它,你不知道。
所以,问问你自己,你是否使用了可以帮助你处理结构的框架或编辑器?您是否引入了其他人的代码并且您没有费心阅读每个文件?您准备好通过操作系统、浏览器和浏览器版本矩阵来测试您的代码了吗?您是否需要从代码中榨取每一盎司的速度?
document.ready() 使许多问题变得无关紧要。document.ready() 旨在让您的生活更轻松。它对性能的影响很小(我敢说可以接受)。
我在互联网上看到了关于 jquery 的使用的参考资料/博客文章document.ready
。在我看来,使用它或将所有 javascript 放在页面底部都是有效的。现在的问题是哪个会更好?这只是编程风格的问题。
不,没有必要。您可以将脚本标记放在正文结束标记之前,或者如果您支持 IE9+,则可以使用本机 JS。
<script>alert('DOM Loaded!');</script>
</body>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
// DOM has loaded ready to fire JS scripts
});
</script>