javascript - 从 DOMcontentLoaded 范围内加载函数

标签 javascript function scope domcontentloaded

jsfiddle

https://jsfiddle.net/ee7oe5pb/2/

Javascript

var events = (function () {
    var fn = {};
    fn.refresh = function(message) {
        alert(message);
    }
    return fn;
})();

var menu = (function () {
    var fn = {};
    fn.init = function(message) {
        events.refresh('Work from the function root'); // Work
        document.addEventListener("DOMContentLoaded", function() {
            events.refresh('Work from the domcontentloaded'); // Don't work
        });
    }
    return fn;
})();

menu.init();

问题

当运行menu.init时,它会启动菜单初始化函数。它触发 events.refresh 函数并发出带有消息的警报。该部分工作得很好。

events.refresh 也在 DOMContentLoaded 范围内调用。当页面完全加载时会触发此操作。现在events.refresh未定义函数。为什么?我该如何解决它?

最佳答案

我不确定,但认为这个 link帮助你理解。它帮助了我。 http://ablogaboutcode.com/2011/06/14/how-javascript-loading-works-domcontentloaded-and-onload/

关于javascript - 从 DOMcontentLoaded 范围内加载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34350449/

相关文章:

c - 什么时候可以使用 "void()",这样做有什么好处

c++ - 将 0,1,2,...,N-1 作为参数传递给函数

javascript - Angular $scope 对象未在 View 中更新

javascript - jQuery 视差导航不会滚动到目标

javascript - 如何在 Next.js 应用程序中仅获取一次数据并使其可供所有应用程序(服务器和客户端)访问

javascript:遍历对象属性

javascript - 使用 JS 加载 iFrame 时制作链接变量

javascript - 循环不会搜索整个对象数组吗?

javascript - AngularJS:使用 $scope.$watch 和 Controller 作为语法

javascript - React/JSX 范围