我需要以编程方式触发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
的属性。
这是否可行?
答案 0 :(得分:13)
你很亲密! 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。