IE为DOM文档中的某些部分readystatechange事件。
这个事件的目的是提供与文档或元素的加载状态有关的信息,但是这个事件的行为有时候也很难预测。
支持readystatechange事件的每一个对象都有一个readyState属:
uninitialized(未初始化):对象存在但尚未初始化。
loading(正在加载):对象正在加载数据
loaded(加载完毕):对象加载数据完成
interactive(交互):可以操作对象了,但还没有完全加载
complete(完成):对象已经加载完毕。
这些状态看起来很直观,但并非所有对象都会经历readyState的这几个阶段。
EventUtil.addHandler(window, "load", function(){ //create a new <script/> element. var script = document.createElement("script"); EventUtil.addHandler(script, "readystatechange", function(event){ event = EventUtil.getEvent(event); var target = EventUtil.getTarget(event); if (target.readyState == "loaded" || target.readyState == "complete"){ EventUtil.removeHandler(target, "readystatechange", arguments.callee); alert("Script Loaded"); } }); script.src = "example.js"; document.body.appendChild(script); //create a new <link/> element var link = document.createElement("link"); link.type = "text/css"; link.rel= "stylesheet"; EventUtil.addHandler(link, "readystatechange", function(event){ event = EventUtil.getEvent(event); var target = EventUtil.getTarget(event); if (target.readyState == "loaded" || target.readyState == "complete"){ EventUtil.removeHandler(target, "readystatechange", arguments.callee); alert("CSS Loaded"); } }); link.href = "example.css"; document.getElementsByTagName("head")[0].appendChild(link); });