2010-05-11 34 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内置的错误控制台(工具 - >错误控制台)。这会给你一个更好的线索,而不是“不工作”。

相关问题