2010-07-05 50 views
0

我已經綁定了某些節標題上的.click事件,以便當用戶單擊其中一個標題時,該節將顯示/消失。jQuery .click()不能脫機工作嗎?

到目前爲止好,但由於某種原因,當我下線時,這不起作用。

我不明白這樣的行爲,有誰能夠啓發我嗎?

下面的代碼:

<script src="jquery-1.4.2.min.js" type="text/javascript" charset="utf-8"></script> 

    <script> 
    $(function(){ 

    $("#contactInfoHeader").click(function(){ 
     if($("#contactInformation").is(":visible")){   
      $("#contactInformation").fadeOut(); 
     }else{ 
      $("#contactInformation").fadeIn(); 
     } 
     resizeWidget(); 
    }); 

    }); 
    </script> 

    <h3 id="contactInfoHeader">Contact Information</h3> 
    <div id="contactInformation">Telephone:XXXXXX</div> 
+5

發佈您如何加載jQuery。任何jQuery代碼的工作? – 2010-07-05 16:31:01

+0

jQuery在線運行良好,請參閱我更新的問題 – 2010-07-05 16:38:04

+2

因此,使用模式爲:您轉到頁面,它可以工作,「離線」,並且*相同頁面*停止工作? 「脫機」是什麼意思? (不同的瀏覽器和不同的操作系統有不同的想法...) – 2010-07-05 16:45:33

回答

1

你有一些代碼不一致,或者你是錯它的工作原理。

,應該在的document.ready,以及:

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

否則它不會點擊事件附加到任何東西,因爲該元素是不存在的運行。

+0

jQuery在線時可以正常工作,我只是忘了發佈整個事情。請看我更新的問題。 – 2010-07-05 16:37:45

+0

你有本地的jQuery源代碼嗎?獲取錯誤? – 2010-07-05 16:41:14

+0

jQuery源是本地存儲的。沒有錯誤出現在Firebug中。 – 2010-07-05 16:55:21

2

在jQuery 1.4.x中,您應該使用此格式將處理程序附加到ready事件。或者您可以保留$(處理程序);或者您可以保留$(處理程序);語法,,但您需要關閉參數

<script> 
$(function(){ 

    $("#contactInfoHeader").click(function(){ 
     if($("#contactInformation").is(":visible")){   
      $("#contactInformation").fadeOut(); 
     }else{ 
      $("#contactInformation").fadeIn(); 
     } 
     resizeWidget(); 
    }); 

});//ADDED ")" here! 
</script> 
+0

這是解決方案。@pedro:你需要確保等待所有標籤被加載,否則你的選擇器將只返回一個空集合而不會引發錯誤。 – dguaraglia 2010-07-05 17:10:40

+0

對不起,我不清楚:jQuery在線時可以工作。我只是在編輯我的問題時忘記包括我的右括號。只有當我選中「脫機工作」時,問題纔會出現 – 2010-07-06 06:57:45

2

親愛的,您正在使用簡單的jQuery,它使用它的在線文件。所以當你在線時它是有效的,但離線按鈕停止工作。而已。這很簡單。