我正在开发一个firefox插件。 在尝试捕获按键事件时,我可以在浏览器控制台上看到它的输出。 但是,如果我按 CTRL + TAB ,则不是这样的:
window.addEventListener('load', function () {
document.addEventListener('keypress', function (e) {
console.error(e);
}, true);
}, false);
仅按Tab键时输出:
keypress { target: <body.ask-page.new-topbar>, key: "Tab", charCode: 0, keyCode: 9 }
为什么在任何Ctrl组合上都没有触发按键?
答案 0 :(得分:1)
要关闭这个问题:这是我的错误报告,包括修复,如果按下 Ctrl + + 组合,按键不会被触发的原因:{{3 }}
答案 1 :(得分:0)
根据我的评论,我不确定e.ctlrKey
上的keypress
为何不正确。
您可以尝试getModifierState
window.addEventListener('load', function () {
document.addEventListener('keypress', function (e) {
console.error(e);
console.error('Control down:', e.getModifierState('Control'));
}, true);
}, false);
显示您可以使用getmodifier在keypress中执行此操作。只要您使用ctrl作为修饰符,这意味着您先按住ctrl