DOMContentLoaded的使用和兼容处理

说DOMContentLoaded就不得不先说window.onload,根据我自己的理解,window.onload是等DOM和文件全部加载完以后,才会执行window.onload里面的内容,而DOMContentLoaded是DOM加载完以后就开始执行了,所以比window.onload的效率高。
使用DOMContentLoaded必须要事件绑定,而事件绑定需要处理兼容,且ie68不支持DOMContentLoaded事件,所以要针对ie68做兼容性处理。
下面是封装的domReady:

function domReady(fn){
    if(document.addEventListener){
        document.addEventListener('DOMContentLoaded',function(){
            fn&&fn();//处理事情
        },false);
    }else{
        /*监控资源情况,ie8及以下不支持addEventListener*/
        document.onreadystatechange=function(){
            /*dom加载完成的时候*/
            if(document.readyState=='complete'){
                fn&&fn();//处理事情
            }
        };
    }
}

以上是JavaScript实现domReady,在jQuery中有封装好的ready方法,直接用就行:

$(document).ready(function{
  //code
]);

$(function{
  //code
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值