【发布时间】:2017-08-28 18:25:10
【问题描述】:
示例 sn-p:
document.addEventListener('keydown', (event) => {
if (event.code === 'Delete') {
console.log('The delete key was pressed' +
(event.ctrlKey ? ' while the control key was held down.' : '.'));
}
});
在这个例子中,第二个 sn-p 似乎永远不会被应用。如果我将event.ctrlKey 更改为event.altKey,然后按alt+del,它会按照我的预期正确记录。
有人可以帮助我理解这种不一致的行为,并帮助我找到解决方法吗?
编辑:我应该提到的东西 - 它似乎在浏览器(Chrome)中运行良好。应用场景实际上是一个基于 Electron 的应用程序。我还注意到它没有记录第二个 sn-p - keyEvent 根本没有触发。这现在让我认为这是一个冲突的键绑定,或者应用程序正在阻止密钥。不过,我仍然想知道是否有(适当的)解决方法。
【问题讨论】:
-
您的代码按预期工作。将其转储到控制台中,然后单击您的页面(文档),一切正常。也许是浏览器的问题?
-
event.code的支持表好像quite red -
@jmargolisvt 有趣的是,我实际上并没有在 Chrome 中进行测试——它实际上应用于基于 Chromium 的应用程序 (Discord)。看起来这是特定于该客户的东西。我还注意到它没有记录第二个 sn-p - 它根本没有记录任何东西。 keyEvent 永远不会触发。这让我认为这可能是一个冲突的键绑定?
标签: javascript electron keyevent