2013-12-11 62 views
-2

我必須保持我的我的一些JavaScript函數在$(function()),使其工作,但有些人不把他們內部的工作就好了。有什麼區別?

+4

http://learn.jquery.com/using-jquery-core/document-ready/ –

+0

javascript和jquery是**不是**相同 – asprin

+0

它也是一個封閉 – Matt

回答

1

它可能取決於你在頁面上放置函數的位置,任何操縱DOM的東西(這是jQuery所做的大部分工作)應該在DOM加載後運行,所以在腳本的最底部,在</body>關閉標籤,如果你想把它放在最上面,你必須把它放在那個函數中(稱爲「文檔就緒函數」),等待DOM被加載到內部運行它的代碼之後。

+1

這就是我想要的答案! :)由@Stefan Seemayer發佈的鏈接也幫助了很多! :) – Joseph

+0

很高興幫助!如果回答您的問題,請隨時查看答案。 –

+1

Sure Dan Goodspeed :) – Joseph

1

任何代碼ÿ ou放在$(function())裏面只會在文檔完全加載時運行。如果你想在javascript/jquery中操作文檔,這很有用,因爲你可能正在依賴某些準備好的元素。

例如如果要將元素添加到特定的div,則必須在腳本運行之前加載div。

0

$(function())$(document).ready手短,因此預計將執行一次文件準備好所以大部分東西進來範圍在那個時候,如果你有一些功能依賴於其他庫或DOM,不如把它沒有任何一種依賴現成的函數將在此隨地

0

$(function())爲同樣的工作$(document).ready();

所有的語句與將執行當你的DOM滿載的瀏覽器。 正如你所提到的,一些代碼工作所以我澄清說,您將附加事件或做任何事情的元素可能會加載到瀏覽器。 這將是它背後的原因所以建議將所有代碼返回$(document).ready()。除了腳本中的函數或方法定義

相關問題