簡體   English   中英

$(document).ready()和包含身體末尾的腳本有什么區別?

[英]What's the difference between $(document).ready() and including a script at the end of the body?

在jQuery的$(document).ready()上執行JavaScript函數並將其包含在正文末尾的腳本標記中的HTML中有什么區別?

謝謝,

DLiKS

立即評估(執行) <script>標記內的JavaScript代碼。 請注意,在這種情況下,頁面尚未(完全)解析,並且DOM尚未准備好。

jQuery ready()回調中的JavaScript代碼在DOMContentLoaded事件上進行評估,該事件發生在瀏覽器解析整個HTML源代碼之后。
關於此活動: https //developer.mozilla.org/en/Gecko-Specific_DOM_Events

請注意,定義ready處理程序的現代方法是:

$(function() {
    // code
});

另外,看看這個SO問題,它指出當你不使用ready回調時會發生什么: 在瀏覽器中為一個網頁執行了多少個JavaScript程序?

  • 正文末尾的腳本將在加載后立即運行。
  • $ .ready在文檔完成后執行(任何鏈接的css也被加載)。
  • Body.load僅在加載所有圖像時運行。

這個問題可能會有所幫助。

如果你在一個放在關閉體標記( </body> )旁邊的腳本中調用一個函數,它就像使用$(document).ready(function(){}); <head>部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM