2010-10-20 149 views
10

使用Google託管代碼中的jQuery 1.4.2。

當文檔準備就緒後,下面的JavaScript不會激發所有3個document.ready函數嗎?

$(document).ready()功能,這使得頭,第二,它給出了一個「富」警告框觸發,但隨後的那些在新<script>塊不會被觸發,

<script type="text/javascript"> 
    $(document).ready(function() { 
     Cufon.replace('h1'); // Works without a selector engine 
     Cufon.replace('h2'); // Works without a selector engine 
     Cufon.replace('h3'); // Works without a selector engine 
     Cufon.now(); 
    }); 
    $(document).ready(function() { alert("Number Foo"); }); 
</script> 

// html tags 

<script type="text/javascript"> 
    $(document).ready(function() { alert("Number One"); }); 
    $(document).ready(function() { alert("Number Two"); }); 
</script> 

這些都是在單獨的Web部件,在Sharepoint2010在同一頁上託管

+4

我會有點擔心在另一個文檔準備好功能中定義一個文檔就緒功能。 – Phil 2010-10-20 04:08:07

+1

對不起,是一個錯字。發佈更新。 – Darbio 2010-10-20 04:09:42

+3

最後一個$(document).ready函數沒有正確結束。 '});'丟失 – 2010-10-20 04:13:19

回答

22

我能想到的三個法醫東西試試,馬上:

  1. 嘗試與非谷歌託管 庫。
  2. 評論出Cufon 來電 - 我相信Cufon會做一些 瘋狂的東西來下載額外的 資源,是嗎?這可能是 干擾。
  3. $(window).load()一個或多個 您的$(document).ready() 回調defs。他們有不同的 射擊標準 - $(window).load()等待 一切加載,據稱 - 但替換可能是 顯示。

當然,console.log()alert()將是您-LEU-的調試器斷點在這種情況下,最好的朋友。

+1

Cufon是罪魁禍首......被刪除! – Darbio 2010-11-02 00:41:37

+4

$(window).load()提示幫助了我! – YeahStu 2011-01-19 19:50:58

+1

如果$(window).load()可用,但$(document).ready()不可用,那是什麼意思? – CharlieMezak 2011-05-16 19:18:52

1

你缺少一個右括號和括號中的第二個腳本標籤

+0

不,這不是問題。 – Darbio 2010-10-20 04:22:48

+0

您是否在開始時錯誤地鍵入了您的代碼,或者在答案後更正了它? – 2010-10-20 04:26:18

+0

我在問題的評論中第一次回答之前就改變了它。 – Darbio 2010-10-20 04:28:47

1

你在最後$結束缺少});(解決的文ENT)。就緒

一旦你解決這個它應該工作

編輯: 既然你現在說,每個腳本標籤是在一個單獨的網絡的一部分,我相信這個問題本身是不是在腳本。您網頁中的其他內容正在搞亂您的代碼。

+0

這不是問題,因爲我修復了源代碼,但仍然無法正常工作。 – Darbio 2010-10-20 04:26:09