event.preventDefault()在IE 11中无法用于自定义事件

moh*_*ind 2 internet-explorer custom-event polymer

我有一个聚合物元素同步触发自定义事件,我想知道是否使用event.preventDefault()取消了事件.使用event.defaultPrevented我可以知道预期的动作.这适用于所有浏览器(Chrome,Canary,Firefox,Opera),但在IE 11(不担心旧浏览器)上它不起作用.我知道我可以在我的活动中设置一些属性并检查我触发和处理的地方,但是想知道是否还有其他我遗漏的东西.

您可以尝试http://jsbin.com/husamupi/1/edit中的代码

Joe*_*ard 5

我有同样的问题,可以通过以下黑客解决它:

var event = document.createEvent('CustomEvent');
event.initCustomEvent('custom', true, true, {});
event.preventDefault = function () {
    Object.defineProperty(this, "defaultPrevented", {get: function () {return true;}});
};
event.preventDefault();
event.defaultPrevented; // true
Run Code Online (Sandbox Code Playgroud)