我有一个简单的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应用程序,我确信我真的很密集,谷歌上的所有地方都说要检查文件是否被正确引用,我已经检查了一遍又一遍,请建议!: /


当前回答

如果脚本标签有延迟属性,则显示错误

未定义Uncaught ReferenceError: $

并且必须从脚本标记中删除属性defer

其他回答

如果脚本标签有延迟属性,则显示错误

未定义Uncaught ReferenceError: $

并且必须从脚本标记中删除属性defer

我有同样的问题,并解决了它使用

document.addEventListener('DOMContentLoaded', () => {
 // code here
});

我也有同样的问题,现在我已经解决了。我的环境如下所示;

Laravel与刀片页。我有一个主布局,并使用部分创建新的页面从我的主页面布局(模板)。

我从我的section页面加载JQuery,而不是我的主布局。我把它从section页面改为从主布局和头部标签的顶部加载JQuery。

在我的情况下,我指向谷歌托管JQuery。它被正确地包含在内,但我在一个HTTPS页面上,并通过HTTP调用它。一旦我修复了这个问题(或允许不安全的内容),它就立即启动了。

确保你真的加载了jquery 这不是jquery——这是ui!

  <script language="JavaScript" 
    src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js">
  </script>

这是一个正确的jquery脚本源代码:

 <script language="JavaScript"  src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>