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


当前回答

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

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

其他回答

我也有同样的问题,没有案例能解决我的问题。唯一对我有用的,就是把它放在网站上。主文件,下一个:

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

With src="<%= ResolveUrl("")…内容页中jQuery的加载是正确的。

我们有同样的问题....但是我不小心检查了文件夹属性并设置了一些东西…

你必须检查你正在访问的每个文件夹的属性。

右键单击文件夹 “权限”选项卡 设置文件夹访问权限: OWNER:创建和删除文件 GROUP:访问文件 其他:访问文件

我希望这是解决方案......

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

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

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

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

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

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

jQuery似乎无法正常加载。您使用的是哪个源/版本?

或者,它可能是名称空间冲突,所以尝试显式使用jQuery而不是使用$。如果这可以工作,您可能喜欢使用noConflict来确保使用$的其他代码不会中断。