zoukankan      html  css  js  c++  java
  • javascript whenReady

    var whenReady=(function(){
        var funcs=[];
        var ready=false;
        function handler(e){
            if (ready) {
                return;
            }
            if (e.type==="readystatechange" && document.readyState!=="complete") {
                return;
            }
            for(var i=0;i<funcs.length;i++){
                funcs[i].call(document);
            }
            ready=true;
            funcs=null;
        }
        if (document.addEventListener) {
            document.addEventListener("DOMContentLoaded",handler,false);
            document.addEventListener("readystatechange",handler,false);
            window.addEventListener("load", handler, false)
        }else if(document.attachEvent){
            document.attachEvent("onreadystatechange",handler);
            window.attachEvent("onload",handler);
        }
        return function whenReady(f){
            if (ready) {
                f.call(document);
            }else{
                funcs.push(f);
            }
        }
    }())
  • 相关阅读:
    组合模式
    迭代器模式
    命令模式
    装饰者模式
    观察者模式
    策略模式
    适配器模式和外观模式
    Servlet
    Java 递归
    Java 反射
  • 原文地址:https://www.cnblogs.com/wangwenfei/p/javascript_ready.html
Copyright © 2011-2022 走看看