我有一个简单的jquery click事件 javascript
<script type="text/javascript"> $(function() { $('#post').click(function() { alert("test"); }); }); </script>
以及在site.master中定义的jquery引用 java
<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>
我检查了脚本是否已正确解析,能够在Firebug中查看标记并直接查看脚本,所以必须找到我。 可是,我仍然获得: jquery
$未定义 安全
并且没有一个jQuery的做品。 我还尝试了$(document).ready和jQuery等的各类变体。 asp.net
这是.net 3.5上的MVC 2应用程序,我肯定我真的很密集,谷歌上的每一个地方都说要检查文件是否被正确引用,我已经检查过并再次检查过,请告知! :/ post
只需将jquery网址放在jquery代码的顶部 spa
像这样 - .net
<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script> <script type="text/javascript"> $(function() { $('#post').click(function() { alert("test"); }); }); </script>
听起来jQuery没法正确加载。 您正在使用哪一个源/版本? code
另外,它多是名称空间冲突,所以请尝试显式使用jQuery而不是使用$
。 若是noConflict
,则您可能但愿使用noConflict
来确保使用$
的其余代码不会中断。 server
我有一样的问题,这是由于我对jQuery.js的引用不在标记中。 一旦我切换了,一切就开始起做用。
安东尼
在asp.net中使用jQuery时,若是使用的是母版页,而且要在其中加载jquery源文件,请确保在全部jquery脚本引用以后都具备标头contentplaceholder。
我有一个问题,使用该母版页的任何页都将返回“未定义$”,这仅仅是由于错误的顺序使客户端代码在建立jquery对象以前运行。 所以,请确保您具备:
<head runat="server"> <script type="text/javascript" src="Scripts/jquery-VERSION#.js"></script> <asp:ContentPlaceHolder id="Header" runat="server"></asp:ContentPlaceHolder> </head>
这样,代码将按顺序运行,您将可以在子页面上运行jQuery代码。
就我而言,我指的是Google托管的JQuery。 它已正确包含在内,但我在HTTPS页面上,并经过HTTP调用它。 一旦解决了问题(或容许使用不安全的内容),它就会当即启动。