如何检测输入事件级别 1 或 2 支持?

ecm*_*aut 5 javascript input feature-detection dom-events

浏览器input事件已经存在了足够长的时间,除了“不支持”之外,浏览器事件至少可以分为三个不同的支持级别(github 上有关 W3C 规范的最新历史记录):

您如何检测对beforeinput事件的支持?截至撰写本文时(2018 年 4 月),Firefox 的排名为 0,Chrome 和 Safari 的排名更靠前。

ecm*_*aut 3

目前,我最好的技巧是构建一个合成InputEvent并测试它是否具有该inputType属性,并将其用作“可能至少支持 W3C 规范的第 1 级,并且据此推断,beforeinput也支持该事件”的代理:

const input_events_level_1_or_better = 'inputType' in (new InputEvent('input'));