我有一个简单的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.js的引用不在标签中。一旦我把它换了,一切都开始运转了。

安东尼

其他回答

经过一些测试,我找到了一个快速的解决方案, 你可以在你的索引页顶部添加:

<script>
$=jQuery;
</script>

它工作得很好:)

有一种方法可以让它在其余代码运行之前自动加载javascript。

进入Views\Shared_Layout.html并添加以下内容

<head>
  <*@ Omitted code*@>
  <script src="~/Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
</head>

我在这里没有发现,但确实发生在我身上。请确保您没有包含jQuery精简版,因为该版本的jQuery库不包括Ajax功能。

结果是“$”可以工作,但是$。例如,Get将返回一个错误消息,说明该函数未定义。

解决方案:包含完整版的jQuery。

我得到了同样的错误消息,当我拼写错误的jQuery引用,而不是type="text/javascript",我键入"…javascirpt"。;)

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