jQuery - 未捕获的引用:函数未定义

时间:2016-02-21 16:58:50

标签: jquery

我得到一个" 未捕获的ReferenceError:未定义resizeRefresh "每当我调整浏览器窗口大小时都会出错。有谁知道我做错了什么,因为我似乎无法自己找到它......

$( document ).ready(function() {

    $(window).resize( function() {
        resizeRefresh();
    });

    $(function resizeRefresh() {
        // Code to run (everything is fine)
    });

});

2 个答案:

答案 0 :(得分:2)

因为您没有定义类似的函数,所以按如下方式定义:

function resizeRefresh(){
// Code 
}

甚至

var resizeRefresh = function(){
// Code 
}

修改 详细说明,美元符号$是jQuery对象的别名。如果您愿意,可以用jQuery替换美元符号。由于您没有使用jQuery方法或属性,因此不需要$

更多信息

Why does JQuery have dollar signs everywhere?

Why would a JavaScript variable start with a dollar sign?

When/why to prefix variables with "$" when using jQuery?

答案 1 :(得分:2)

您的代码有几个问题:

  1. 函数定义错误。该函数应定义为var fnName = function(){};,而不是jquery符号
  2. 如果您使用的是变量,则应在使用之前定义并初始化,而不是之后。这可能不会在您的用例中引起问题,因为事件将在定义函数后触发,但编码非常糟糕,可能会导致其他\一般用例出现问题。
  3. 更正后的代码:

    $( document ).ready(function() {
        var resizeRefresh = function() {
            // Code to run (everything is fine)
        };
    
        $(window).resize( function() {
            resizeRefresh();
        });
    });