load会等待一切都加载完然后执行
DOMContentLoaded会在DOM树执行完毕就执行,不用等待其他图像、js文件、css文件的加载
这就意味着用户可以尽早实现页面的交互
要处理DOMContentLoaded事件,可以用document、或window添加相应的事件处理程序,这个事件会冒泡到window,但目标实际上是document
IE9以上的2标准浏览器都支持此标准:
如果不知,可以使用一个时间为0毫秒的超时调用(但是无法保证超时调用一定会早于load事件)
setTimeout(function( //再次添加事件处理程序 ),0)
实例:说明:DOM树是在img之前加载的
var oImg = document.getElementById('img'); EventUtil.addHandler(oImg,'load',function(event){ event = EventUtil.getEvent(event); console.log('图片加载完'); console.log(event.target);//target属性为img }); EventUtil.addHandler(document,'DOMContentLoaded',function(event){ event = EventUtil.getEvent(event); console.log('DOM树加载完'); console.log(event.target);//target属性为document });