如果代码在底部,那么将 $(document).ready 函数放在底部有什么意义

What is the point of putting the $(document).ready function if the code is at the bottom?

本文关键字:底部 函数 ready 什么 代码 如果 document      更新时间:2023-09-26
这里

对Jquery来说相当新......但是我被告知并正在做的一件事是在阅读HTML后将我的Javascript添加到页面底部。

现在,我看到人们添加 $(document).ready(function() 即使代码在页面底部。DOM 不是在读取 HTML 时逐步构建的吗?在读取 HTML 结束时,DOM 不应该自动准备就绪,因此,添加此检查有什么意义?

例如,小演示:

<ul>
    <li id="draggable" class="ui-state-highlight">Drag me down</li>
</ul>
<ul id="sortable">
    <li class="ui-state-default">Item 1</li>
    <li class="ui-state-default">Item 2</li>
    <li class="ui-state-default">Item 3</li>
    <li class="ui-state-default">Item 4</li>
    <li class="ui-state-default">Item 5</li>
</ul>
<script>
alert("In Page");
</script>
</div><!-- End demo -->
<script>
$(function() {
    alert("Dom is READY");
    $( "#sortable" ).sortable({
    revert: true
    });
    $( "#accordion" ).accordion();
});
</script>

"在页面中"始终首先出现...是因为HTML不够"大"吗?

事实是document.ready和文档底部几乎是一回事,因为到文档结束时,所有控件都在那里。就我个人而言,我仍然更喜欢document.ready,因为它是JQuery框架识别文档端的方式(理想情况下,我们应该坚持框架的推荐方式),其次,它将照顾任何错误移动代码的人。

当你以这种方式内联编写代码时,假设你在头部加载jQuery,那么可能不需要将文档放在Ready上。

当您的页面代码通过文档中的外部 JavaScript 资源加载时(可能不在底部),它开始有所不同。这样做的原因主要是为了让您的浏览器可以缓存代码,从而减少网络开销。