EventUtil.addHandler(document,"readystatechange",function(event){if(document.readyState=="complete"||document.readyState=="interactive")
{
EventUtil.removeHandler(document,"readystatechange",arguments.callee);
alert("Content loaded");
}});
对于上面的代码来说,当readystatechange事件触发时,会检测document.readyState的值,看当前是否已经进入交互或者完成阶段,如果是,则移除相应的时间处理程序以免在其他阶段再执行,注意,由于事件处理程序使用了匿名函数,因此这里使用arguments.callee来引用该函数......
------------------------------------------华丽的分割线----------------------------------------------------------------------------------------------------------------------------------------------以上内容是出自《JavaScript高级程序设计(第2版)》,小弟不明白的是:“则移除相应的时间处理程序以免在其他阶段再执行”,这里在其他阶段再次执行是什么意思?既然已经执行过了,为什么还会执行?在网上找了些资料,但是还是感觉很迷惑,还望大虾指点迷津,先谢谢各位了。JavaScript函数