【发布时间】:2019-03-14 07:53:20
【问题描述】:
我正在尝试在 Microsoft Edge(非 IE)浏览器上使用合成 new KeyboardEvent() 触发 keydown 事件,但无法设置 keyCode 属性。
其实我想模拟下箭头keydown事件。
const event = new KeyboardEvent('keydown', {
code : 'Down',
key: 'Down',
keyCode: 40,
} as KeyboardEventInit));
但是当我调度这个事件并记录输出事件时,keyCode 属性总是返回为 0 而不是 40。
上述代码在 Chrome、Firefox 和 Safari 上工作。 如果我做错了什么,请纠正我。
【问题讨论】:
-
行为已确认。
-
您可以尝试使用 initEvent() 进行实验。请参阅technet.microsoft.com/en-us/windows/dn905219(v=vs.71)、stackoverflow.com/questions/30003774/…。
-
看起来这个问题只发生在(合成)键盘事件中。我用 JS 代码做了一个测试,它在 MS Edge 上运行良好。
标签: javascript microsoft-edge keyboard-events