其他分享
首页 > 其他分享> > 提取jQuery的ready方法

提取jQuery的ready方法

作者:互联网

(function(){
    document.ready = function(fn){
        if(typeof fn !== 'function'){
            throw 'Fn is not a function!';
        }
        function completed() {
            document.removeEventListener( "DOMContentLoaded", completed );
            window.removeEventListener( "load", completed );
            fn();
        }
        // 通过判断readyState状态如果已经加载完成直接执行,否则通过加载事件监听,由事件触发执行
        if ( document.readyState === "complete" ||
            ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
            // Handle it asynchronously to allow scripts the opportunity to delay ready
            window.setTimeout( fn );

        } else {

            // Use the handy event callback
            document.addEventListener( "DOMContentLoaded", completed );

            // A fallback to window.onload, that will always work
            window.addEventListener( "load", completed );
        }
    }
})();

提取于JQuery3.5.1的ready函数

标签:jQuery,function,提取,completed,window,ready,document,fn
来源: https://www.cnblogs.com/fbj333/p/15714791.html