为什么声明到 jQuery 就绪事件处理程序中的函数会出现“未定义”错误?

我创建了一个通用函数 JavaScript 文件,其中包含以下代码:


// js/common_functions.js

$(document).ready(function () {

    function showLoader() {

        if ($("#loading").length > 0) {

            $("#loading").removeClass("hideElement");

        }

    }

});

现在,我已经将这个文件包含在一个 PHP 文件中,并且我正在使用它,如下所示:


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

<script type="text/javascript">

     $(document).ready(function () {

         showLoader();

     });

</script>

文件包含工作正常,据我说,showLoader()应该调用函数,但它不起作用,我收到以下错误:


ReferenceError: showLoader is not defined


汪汪一只猫
浏览 57回答 1
1回答

qq_遁去的一_1

您的函数声明位于另一个函数内部,因此它的范围仅限于该函数,并且在它之外不可用。不要那样做。使用ready事件处理程序完全没有意义,因为“定义一个函数”(您在其中所做的唯一事情)绝对不依赖于可用的 DOM 元素。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript