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

时间:2014-10-24 19:04:13

标签: javascript javascript-events dispatchevent

我需要以编程方式触发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的属性。

这是否可行?

1 个答案:

答案 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