jQuery-$未定义

我有一个简单的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


#1楼

只需将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>

#2楼

听起来jQuery没法正确加载。 您正在使用哪一个源/版本? code

另外,它多是名称空间冲突,所以请尝试显式使用jQuery而不是使用$ 。 若是noConflict ,则您可能但愿使用noConflict来确保使用$的其余代码不会中断。 server


#3楼

我有一样的问题,这是由于我对jQuery.js的引用不在标记中。 一旦我切换了,一切就开始起做用。

安东尼


#4楼

在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代码。


#5楼

就我而言,我指的是Google托管的JQuery。 它已正确包含在内,但我在HTTPS页面上,并经过HTTP调用它。 一旦解决了问题(或容许使用不安全的内容),它就会当即启动。