为了账号安全,请及时绑定邮箱和手机立即绑定

JQuery - $未定义

JQuery - $未定义

慕的地8271018 2019-05-25 15:51:03
JQuery - $未定义我有一个简单的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应用程序,我确定我真的很密集,google上的每个地方都说要检查文件是否正确引用,我已经检查并再次检查,请指教!:/
查看完整描述

4 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

该错误只能由以下三种情况之一引起:

  1. 您的JavaScript文件未正确加载到您的页面中

  2. 你有一个拙劣的jQuery版本。这可能是因为有人编辑了核心文件,或者插件可能覆盖了$变量。

  3. 您在页面完全加载之前运行JavaScript,因此,在jQuery完全加载之前。

您应该检查Firebug 网络面板以查看文件是否实际正确加载。如果没有,它将突出显示为红色并在其旁边显示“404”。如果文件正确加载,则表示问题为2。

确保所有jQuery javascript代码都在代码块中运行,例如:

$(document).ready(function () {
  //your code here});

这将确保在初始化jQuery 之后加载代码。

最后要检查的是确保加载jQuery 之前没有加载任何插件。插件扩展了“$”对象,所以如果你在加载jQuery核心之前加载一个插件,那么你将得到你描述的错误。

注意:如果您正在加载不需要运行jQuery的代码,则不需要将其放在jQuery ready处理程序中。该代码可以使用分开document.readyState


查看完整回答
反对 回复 2019-05-25
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

首先,您需要确保加载jQuery脚本。这可能来自您的网站上的CDN或本地。如果在尝试使用jQuery之前没有先加载它,它会告诉你jQuery没有定义。


<script src="jquery.min.js"></script>

这可以在HEAD或页面的页脚中,只需确保在尝试调用任何其他jQuery之前加载它。


然后,您需要使用以下两种解决方案之一


(function($){

// your standard jquery code goes here with $ prefix

// best used inside a page with inline code, 

// or outside the document ready, enter code here

 })(jQuery); 

要么


jQuery(document).ready(function($){

// standard on load code goes here with $ prefix

// note: the $ is setup inside the anonymous function of the ready command

});

请注意多次$(document).ready(function(){// code here}); 不管用。


查看完整回答
反对 回复 2019-05-25
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

如果jQuery插件调用位于其旁边</body>,并且您的脚本在此之前加载,则应该在window.onload事件之后运行代码,如下所示:


window.onload = function() {

  //YOUR JQUERY CODE

}

`


因此,只有在窗口加载后,当所有资产都已加载时,您的代码才会运行。在这一点上,$将定义jQuery()。


如果你使用它:


$(document).ready(function () {

  //YOUR JQUERY CODE

});

`


在$还没有在这个时候确定的,因为jQuery是加载之前它被称为,你的脚本将失败上的控制台,第一道防线。


查看完整回答
反对 回复 2019-05-25
  • 4 回答
  • 0 关注
  • 1603 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信