如何在javascript中正确初始化ErrorEvent?

sbo*_*sse 4 javascript javascript-events dispatchevent

我需要以ErrorEvent编程方式触发,但无法弄清楚如何初始化事件的属性.这些属性是只读的,initEvent()只是初始化事件类型,是否有气泡,以及是否可以取消.

我试过了

var myErrorEvent = new ErrorEvent("error", new Error("This is my error"));
Run Code Online (Sandbox Code Playgroud)

myErrorEvent.initEvent("error", false, true, new Error("This is my error"));
Run Code Online (Sandbox Code Playgroud)

要么

// 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);
Run Code Online (Sandbox Code Playgroud)

我尝试了很多其他的东西,但无法ErrorEvent正确设置属性.

这甚至可行吗?

Zir*_*rak 14

你很亲密!ErrorEvent构造函数的第二个参数是一个具有要设置的属性的对象,如下所示:

var error = new ErrorEvent('oh nose', {
    error : new Error('AAAHHHH'),
    message : 'A monkey is throwing bananas at me!',
    lineno : 402,
    filename : 'closet.html'
});
Run Code Online (Sandbox Code Playgroud)

有关完整的属性集,请参阅规范.