2012-04-06 38 views
1

我聽說過一種在頁面加載時自動調用javascript函數的方法。這個問題是要知道哪種方法最適合所有其他方法。在javascript中自動調用函數的各種方法

如果您的方法與其他方法不同,請在此提及您的方法,無論它是好還是不好。

+0

究竟是什麼問題?是的,您可以隨心所欲地卸載功能。 – 2012-04-06 09:59:58

+0

你應該列出你想看到不同的選項。基本上,它歸結爲基本決定:加載事件或準備事件。 – 2012-04-06 09:59:59

+0

我使用jQuery'$();'function; tooooo common – mshsayem 2012-04-06 10:00:11

回答

4

的選項有:

  1. 只要把script標籤頁面的結尾,把你的函數調用那裏。如果它正好在關閉</body>標記之前(或之後),那麼它上面的所有DOM元素都在那裏並準備好被操縱(reference)。圖像和其他資源可能尚未加載,也可能尚未加載。除了一些具體的原因,你需要做別的事情,這是你最好的選擇,frequently recommended

  2. 使用windowload的事件,你可以在舊版本的IE通過addEventListener標準的瀏覽器或attachEvent掛鉤。在加載所有圖像和其他資源之後,發生這種情況的時間很晚的。 (您也可以使用在body標籤老式onload屬性掛鉤,但我不建議這樣做。)

  3. 在標準的瀏覽器,有一個DOMContentLoaded event是火災時,DOM已準備就緒,但早於windowload。你通過addEventListener掛鉤它。

  4. 大多數JavaScript庫提供了某種「當DOM已準備就緒」事件,您可以掛鉤。 jQuery使用ready(yourFunction)函數,Prototype使用document.observe("dom:loaded", yourFunction)等。

+0

@AnkitGautam:因爲它要求您將代碼與您的標記混合在一起,並且只有一個代碼可以「掛鉤」它。使用'addEventListener' /'attachEvent',可以添加儘可能多的事件監聽器。 – 2012-04-06 18:31:09

相關問題