提取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函数

上一篇:python测试开发django-186.使用 jquery 的 .val() 无法获取input框的输入值(已解决)


下一篇:jQuery手机触屏滑动图片轮播效果代码_移动端图片拖拽切换插件touchSlider.js