【发布时间】:2014-05-17 11:15:47
【问题描述】:
我已阅读有关如何创建 JS 命名空间的信息,但我的问题是如何确保其中的函数仅在页面加载时发生? 即代替:
$(document).ready(function () {...});
(或任何其他库,然后是 jquery)。
还有 - 有没有办法控制页面加载时会启动什么以及之前会启动什么?
谢谢!:)
【问题讨论】:
标签: javascript namespaces closures onpageloadstring
我已阅读有关如何创建 JS 命名空间的信息,但我的问题是如何确保其中的函数仅在页面加载时发生? 即代替:
$(document).ready(function () {...});
(或任何其他库,然后是 jquery)。
还有 - 有没有办法控制页面加载时会启动什么以及之前会启动什么?
谢谢!:)
【问题讨论】:
标签: javascript namespaces closures onpageloadstring
把这段代码放在jquery代码之外
var MyReallyCoolLibrary = {
awesome: "stuff",
doSomething: function() {
},
doAnotherThing: function() {
}
};
MyReallyCoolLibrary.awesome;
alert(MyReallyCoolLibrary.awesome);
【讨论】:
以下示例使用立即函数封装代码并在事件DOMContentReady 上注册一个事件处理程序,当浏览器准备好 DOM 但加载图像时触发。
(function () {
'use strict';
var
init = function () {
window.console.info('init()');
};
window.addEventListener('DOMContentReady', init, false);
}());
浏览器一加载代码,立即函数就会被执行。从那时起,可以安排不同的事件来进一步执行代码。
如果不使用像 jquery 这样的框架,在这个主题上付出了一些努力,你必须自己处理不同浏览器中的不同事件。
【讨论】: