【问题标题】:JS namespacing and page-loadJS 命名空间和页面加载
【发布时间】:2014-05-17 11:15:47
【问题描述】:

我已阅读有关如何创建 JS 命名空间的信息,但我的问题是如何确保其中的函数仅在页面加载时发生? 即代替:

$(document).ready(function () {...});

(或任何其他库,然后是 jquery)。

还有 - 有没有办法控制页面加载时会启动什么以及之前会启动什么?

谢谢!:)

【问题讨论】:

    标签: javascript namespaces closures onpageloadstring


    【解决方案1】:

    把这段代码放在jquery代码之外

     var MyReallyCoolLibrary = {
    awesome: "stuff",
    doSomething: function() {
    },
    doAnotherThing: function() {
    }
    

    };

       MyReallyCoolLibrary.awesome;
    
       alert(MyReallyCoolLibrary.awesome);
    

    【讨论】:

      【解决方案2】:

      以下示例使用立即函数封装代码并在事件DOMContentReady 上注册一个事件处理程序,当浏览器准备好 DOM 但加载图像时触发。

      (function () {
        'use strict';
      
        var
        init = function () {
          window.console.info('init()');
        };
      
        window.addEventListener('DOMContentReady', init, false);
      }());
      

      浏览器一加载代码,立即函数就会被执行。从那时起,可以安排不同的事件来进一步执行代码。

      如果不使用像 jquery 这样的框架,在这个主题上付出了一些努力,你必须自己处理不同浏览器中的不同事件。

      【讨论】:

        猜你喜欢
        • 2011-11-19
        • 2011-08-06
        • 2013-07-19
        • 2015-07-15
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多