我目前正在为 Javascript 方法开发单元测试,用于检测文档的准备情况。该代码已经处于框架级别,因此请避免提及已在 jQuery 或其他库中实现的代码。
我已使用以下代码成功模拟了“readystatechange”更改事件:
var event;
event = document.createEventObject();
event.type = 'readystatechange';
document.fireEvent('onreadystatechange',event);
我未能对“加载”事件执行相同的操作。以下代码会在 IE7 中导致参数无效的错误,该错误是由最后一行调用 fireEvent 引发的:
event = document.createEventObject();
event.type = 'load';
document.fireEvent('onload',event);
有人这样做过,或者以前没有这样做过吗?我也对以不同方式启动活动的任何建议感兴趣。
Edit:根据 Crescent Fresh 的建议,我将代码更改为:
event = document.createEventObject();
event.type = 'load';
document.body.fireEvent('onload',event);
不再有错误,但“onload”的侦听器不会触发。这是我的配置方法:
document.attachEvent('onload',listener);