jQuery-未定义$
我有一个简单的jquery click事件
<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应用程序,我确定我真的很密集,谷歌上的每个地方都说要检查文件是否被正确引用,我已经检查过并再次检查过,请告知!:/
回答:
该错误只能由以下三种情况之一引起:
- 您的JavaScript文件未正确加载到页面中
- 您有一个拙劣的jQuery版本。发生这种情况的原因是有人编辑了核心文件,或者插件可能覆盖了$变量。
- 您需要在页面完全加载之前以及jQuery完全加载之前运行JavaScript。
首先,请确保正确调用了什么脚本,它应该看起来像
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
并且不应具有 或 属性。
然后,您应该检查Firebug 网络面板,以查看文件是否实际上已正确加载。如果不是,它将以红色突出显示并在其旁边显示“ 404”。如果文件加载正确,则意味着问题是第2个。
确保所有jQuery javascript代码都在代码块中运行,例如:
$(document).ready(function () { //your code here
});
这将确保在初始化jQuery 之后 加载您的代码。
最后要检查的一件事是确保 在加载jQuery之前不加载任何插件。插件扩展了“$”对象,因此,如果您在加载jQuery核心之前先加载插件,则会得到您所描述的错误。
如果要加载不需要jQuery来运行的代码,则无需将其放在jQuery
ready处理程序中。该代码可以使用分隔document.readyState
。
以上是 jQuery-未定义$ 的全部内容, 来源链接: utcz.com/qa/401136.html