使用Ctrl键的Firefox按键事件

时间:2014-09-16 14:46:40

标签: firefox firefox-addon

我正在开发一个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组合上都没有触发按键?

2 个答案:

答案 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);

MDN :: getModifierState

编辑:

http://jsfiddle.net/ace4tuwo/

显示您可以使用getmodifier在keypress中执行此操作。只要您使用ctrl作为修饰符,这意味着您先按住ctrl