繁体   English   中英

jQuery-函数未定义-从内联脚本调用此函数

[英]jquery - function not defined - calling this function from inline script

我有如下所示的代码。 从中删除了不需要的代码,只写了所需的内容。 当我从正文中的内联脚本调用我的toggleFunc时,它在控制台中显示未定义此功能。 谁能告诉我这有什么问题吗?

<head>
<script src="~/Client/js/lib/jquery-1.10.2.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        var pageInitialize = function () {  

            ..doing something here

            function toggleFunc() { 
               ..doing something more here
            };
        };
        pageInitialize();
    });
</script>
</head>
<body>
<script>toggleFunc()</script>
</body>

在触发DOMReady之前,不会定义您的两个函数,这将在运行body toggleFunc调用之后发生。 另外, toggleFuncpageInitialize函数内,因此无法在pageInitialize外部pageInitialize

尝试这个:

<script type="text/javascript">
    var pageInitialize = function () {  
        //..doing something here
    };
    pageInitialize();

    function toggleFunc() { 
        //..doing something more here
    };
</script>

两个问题:

  1. toggleFunc不是全局函数。 pageInitialize是本地的。 如果希望它是全局的,请将其分配给window

  2. 您正在$(document).ready回调中定义函数,该函数将在将来的某个时间执行。 您正在$(document).ready回调函数外部立即调用该函数。 尚未定义。

toggleFunc()是无法从全局范围调用的闭包

在使用$(document).ready之前,它甚至在被定义之前就被调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM