2010-05-11 70 views
1

在我的母版頁(對於我網站中的所有頁面),我有一個ToolkitScriptManager。爲什麼我在包含jQuery腳本文件的地方有所作爲?

在我的內容頁面上,有一系列可摺疊功能的超鏈接和div。

顯示代碼/隱藏面板的工作方式類似於以下內容:

$(document).ready(function() { 
// Hookup event handlers and execute HTML DOM-related code 
$('#nameHyperLink').click(function() { 

     var div = $('#nameDiv'); 
     var link = $('#nameHyperLink'); 
     if (div.css('display') == 'none') { 
      link.text('Hide Data'); 
      div.show('100'); 
     } 
     else { 
      link.text('Show Data'); 
      div.hide('100'); 
     } 

    }); 
}); 

如果我包含的ScriptReference在toolkitscriptmanager了jQuery 1.4.2的文件,被錯誤地執行頁面上的JavaScript代碼(只有超鏈接的文本被更改,div實際上並未顯示。)但是,如果我沒有在ToolkitScriptManager中包含jQuery文件,而是將其包含在內容頁面中,則它可以正常工作。

我是一個Javascript/jQuery新手,這根本沒有意義。這裏發生了什麼?

+0

你可以驗證從toolkitscriptmanager包含的jQuery庫是否被正確引用? – gurun8 2010-05-11 17:53:50

回答

2

腳本的定位對於jQuery ref來說很重要。如果你看看你生成的源代碼,我會打賭標籤在腳本函數()下面。你應該確保jQuery的引用盡早來到頁面源代碼中。

嘗試將jQuery庫引用移動到主頁的頭部,應該可以工作。否則張貼一些來源!

0

像Tj說...應該可能在您的母版頁的頭部分。此外,鏈接到谷歌的這個庫的版本也很好,因爲你的用戶可能已經擁有了它。例如,看看這個頁面的來源。

這裏最可能的兩個原因是$尚未被定義(請參閱Tj的答案)並且$正在被另一個庫(如原型)定義。

我強烈建議你看看使用Firebug的JavaScript調試器,或者至少看看Firefox內置的錯誤控制檯(工具 - >錯誤控制檯)。這會給你一個更好的線索,而不是「不工作」。

相關問題