有什麼用
$(function(){
});
和
$(document).ready(function(){
});
試過在兩者之間的區別,無論是工作得很好,但在運行時會發生什麼。
有什麼用
$(function(){
});
和
$(document).ready(function(){
});
試過在兩者之間的區別,無論是工作得很好,但在運行時會發生什麼。
兩者完全相同,但第二種形式不推薦在jQuery v3中使用。請參閱文檔中的here和here。從第二個鏈接開始:
jQuery提供了幾種附加DOM準備就緒的函數的方法。以下所有的語法是等效的:
$(handler) $(document).ready(handler) $("document").ready(handler) $("img").ready(handler) $().ready(handler)
在jQuery 3.0,僅建議所述第一語法;其他語法仍然有效,但不推薦使用。
呃? '$(「img」)。ready'如何等於'$(document).ready'?我錯過了什麼?爲什麼'img'? –
@JeremyThille:因爲jQuery對象的內容完全**被'ready'忽略;請參閱以'jQuery.fn.ready ='[在未定義文件](https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js)開頭的代碼。就個人而言,我更喜歡文檔中沒有包含該示例(並且在包含除「文檔」之外的任何內容的集合上使用'ready'),但是...他們沒有向我諮詢。 ;-) –
哇,我不知道。那麼如果這個論點完全被忽略了,爲什麼還要在第一個地方寫文檔或其他東西呢?奇怪的。 –
1。== >> $(document).ready(function(){ }); - 這是爲了防止在文檔加載完成之前運行任何jQuery代碼。 - 這也可以讓你在你的文檔的正文之前的頭部分中有你的JavaScript代碼。 (函數(){
}); - 這是文檔就緒事件的較短方法。
這兩種方法都可行,但文檔就緒事件在閱讀代碼時更易於理解。
*更好*取決於個人的經驗,從而使這個問題的主要意見。如果你有特定的問題,通過一切手段編輯你的問題來反映這一點。 – Script47
他們是一樣的,閱讀官方文檔[文檔就緒](https://learn.jquery.com/using-jquery-core/document-ready/) – Satpal
如果我記得很清楚,它是完全一樣的。首先是更短。 – TGrif