我需要以编程方式触发ErrorEvent,但无法弄清楚如何初始化事件的属性.这些属性是只读的,initEvent()只初始化事件类型,无论是否冒泡,以及它是否可以取消.
我试过了
var myErrorEvent = new ErrorEvent("error", new Error("This is my error"));
和
myErrorEvent.initEvent("error", false, true, new Error("This is my error"));
要么
// This function would be defined in IE only. Could not find it in Chrome.
myErrorEvent.initErrorEvent("error", false, true, "This is my error", "myfile.js", 1234);
我尝试了很多其他的东西,但无法正确设置ErrorEvent的属性.
这甚至可行吗?
解决方法:
你很亲密! ErrorEvent构造函数的第二个参数是一个具有您要设置的属性的对象,如下所示:
var error = new ErrorEvent('oh nose', {
error : new Error('AAAHHHH'),
message : 'A monkey is throwing bananas at me!',
lineno : 402,
filename : 'closet.html'
});
有关完整的属性集,请参见the spec.