JQuery-$未被定义

 2023-02-17    359  

问题描述

我有一个简单的jQuery点击事件

<script type="text/javascript">
    $(function() {
        $('#post').click(function() {
            alert("test"); 
        });
    });
</script>

和网站中定义的jQuery参考.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上的任何地方都说要检查文件已正确引用,我再次检查并检查了文件,请建议! :/

推荐答案

该错误只能由三件事之一引起:

  1. 您的JavaScript文件未正确加载到您的页面
  2. 您有一个jQuery的爆炸版.这可能是因为有人编辑了核心文件,或者插件可能已经覆盖了$变量.
  3. 您的JavaScript在页面满载之前运行,因此,在jQuery满载之前.

首先,确保正确地调用了脚本,它应该看起来像

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

并且不应该具有属性 async 或 defer .

然后,您应该检查 firebug net> net 面板以查看文件是否真的在正确加载.如果没有,它将被突出显示红色,并在其旁边说” 404″.如果文件正确加载,则意味着问题是数字2.

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

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

这将确保在初始化 jQuery之后加载您的代码.

要检查的最后一件事是确保您在加载jQuery之前没有加载任何插件.插件扩展了” $”对象,因此,如果您在加载jQuery core之前加载插件,那么您将获得所描述的错误.

注意:如果您正在加载不需要jQuery运行的代码,则不需要将其放置在jQuery Ready Handler中.该代码可以使用 document.readyState .

.

其他推荐答案

可能是您在调用jQuery脚本之前将脚本标签调用.

<script type="text/javascript" src="js/script.js"></script>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

这是$未定义

的结果

将jQuery.js放在您的脚本标签之前,它将起作用;)喜欢:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/script.js"></script>

其他推荐答案

首先,您需要确保加载jQuery脚本.这可以来自您网站上的CDN或本地.如果您在尝试使用jQuery之前不首先加载此功能,它将告诉您未定义jQuery.

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

这可以在页面的头部或页脚中,只需在尝试调用其他任何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(){//代码}); 将不起作用.

以上所述是小编给大家介绍的JQuery-$未被定义,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34165.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。