【发布时间】:2015-12-23 19:07:01
【问题描述】:
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 是undefined function。为什么?我怎样才能绕过它?
【问题讨论】:
标签: javascript function scope domcontentloaded