我有一个简单的jquery点击事件

<script type="text/javascript">
    $(function() {
        $('#post').click(function() {
            alert("test"); 
        });
    });
</script>

以及在site.master中定义的jquery引用

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>

我已经检查了脚本被正确解析,我能够看到标记,并直接在firebug中查看脚本,所以我必须被发现。然而,我仍然得到:

$没有定义

jquery没有一个是有效的。我还尝试了它的各种变体,比如$(document)。ready和jQuery等。

这是一个。net 3.5上的MVC 2应用程序,我确信我真的很密集,谷歌上的所有地方都说要检查文件是否被正确引用,我已经检查了一遍又一遍,请建议!: /


当前回答

检查jquery文件的确切路径是否包含在内。 < script src = "资产/插件/ jquery / jquery.min.js " > < /脚本>

如果你在你的页面底部添加这个,请在这个声明下面调用JS函数。

使用此代码测试检查, <脚本type = " text / javascript”> / * * * *由dadennew创建 *使用ajax提交电子邮件订阅 *发送电子邮件地址 *发送控制器 *收到回复 * / $(document).ready(function(){//你可以用Jquery替换$ jquery working~!”); });

和平!

其他回答

当在asp.net中使用jQuery时,如果你正在使用一个母版页,并且你正在加载jQuery源文件,请确保在所有jQuery脚本引用之后有头部内容占位符。

我有一个问题,任何使用该母版页的页面都会返回“$ is not defined”,仅仅是因为错误的顺序使客户端代码在jquery对象创建之前运行。所以确保你有:

<head runat="server">
    <script type="text/javascript" src="Scripts/jquery-VERSION#.js"></script>
    <asp:ContentPlaceHolder id="Header" runat="server"></asp:ContentPlaceHolder>
</head>

这样代码将按顺序运行,并且您将能够在子页面上运行jQuery代码。

你只要在你的页面开始添加

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

在任何浏览器地址栏中检查SRC链接,如果你得到一些代码,那么这将为你工作。 阿西夫

在这里尝试了所有方法都没有结果之后,我简单地通过将脚本src标记从主体移动到头部来解决了这个问题

这意味着您的jQuery库还没有加载。

您可以在拖动jQuery库后移动代码。

或者你可以用这样的东西

window.onload = function(){
  // Your code here
  // $(".some-class").html("some html");
};  

是否使用其他JavaScript库?如果是这样,你可能需要在兼容模式下使用jQuery:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries