$没有为匿名函数定义

时间:2014-02-14 06:52:17

标签: javascript jquery .net

我确定我的jquery脚本包含在那里所以jquery已被拉入但我出于某种原因得到ReferenceError:$没有为$(function()定义。

它工作正常,但在某些时候它开始不识别jquery,我不知道如果加载jquery会导致什么。我不认为我需要一个document.ready()吗?

老实说,我甚至不知道我是否应该在这里使用匿名功能。我忘记了为什么我首先拥有它,因为它只包含了一堆函数,我基本上将所有js和jquery代码包装在页面中。

  <script src="~/Scripts/jquery-2.0.3.min.js"></script>
    <script type="text/javascript">

        var creditCardType = 1;
        var cVV2 = 123;


        //$ is a shorthand for 'jQuery'. So $(function(){}); is a jquery function
        $(function ()
        {
            hideAllTransactionSections();
            setEvents();

            function hideAllTransactionSections() {
                $("#preAuthenticationContent").hide();
                $("#delayCaptureContent").hide();
                $("#captureContent").hide();
                $("#voidContent").hide();
                $("#refundContent").hide();
            }
           ... rest of js code for the page
       });

不确定为什么我仍然会收到此错误。

3 个答案:

答案 0 :(得分:0)

这意味着找不到jQuery库。检查以确保您的src路径正确。

<script src="~/Scripts/jquery-2.0.3.min.js"></script>

您可能还会在文件中出现语法错误,您可能需要提供完整的js代码。

答案 1 :(得分:0)

检查你是否给出了正确的路径。即你的JS文件已加载到页面

或者使用以下链接

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

使用上面的JS,如果你仍然得到错误检查你的控制台页面  错误消息

答案 2 :(得分:0)

由于您(或多或少)提出要求,$(function (){})$(document).ready(function (){})的简写。你添加它,所以在DOM准备就绪之前,该包装器中的jQuery代码都不会执行。

至于为什么它未定义,两个最常见的问题是

  1. 路径无效(您应该在控制台中看到404错误)
  2. 另一个脚本已映射到$运算符
  3. 您尚未将此标记为ASP.NET MVC问题,但如果是,则必须使用MVC4或更高版本才能自动映射虚拟目录(来自~字符)。否则,您需要使用@Url.Content()帮助程序。