11

我需要以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正确设置 的属性。

这甚至可行吗?

4

1 回答 1

25

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

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

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

于 2014-10-24T19:15:55.753 回答