【发布时间】:2020-06-26 13:15:13
【问题描述】:
document.createEvent API 已被弃用。它允许使用这些事件的字符串名称创建本机浏览器事件。现在推荐的方法是改用event constructors。
即createEvent("HtmlEvents") 现在变成了new HtmlEvent()。
是否可以通过使用字符串的事件构造函数来创建这些事件?即new CustomEvent("HtmlEvents")?
【问题讨论】:
-
@HereticMonkey 问题是,如果我创建一个
new CustomEvent("HtmlEvents"),它的行为是否与使用document.createEvent("HtmlEvents")创建的事件相同。 -
没有,因为没有这样的内置事件类型
HtmlEvents。我的意思是,这很容易检查,对吧?只需在控制台中运行document.createEvent("HtmlEvents")并将输出与new CustomEvent("HtmlEvents")进行比较... -
@HereticMonkey 这就是问题所在。我需要使用字符串创建这些事件作为旧代码的迁移。我当然可以为每个事件创建一个带有案例的巨大 switch 语句,但我想避免这种情况。
-
@HereticMonkey 有点,但旧的事件类型通常有复数名称。我已尝试搜索所有名称的列表,但尚未找到任何名称。要么是这个,要么是迁移 ~1500 个测试。
标签: javascript dom events dom-events