2017-03-24 52 views
1

我有一个网络应用程序,我在其中使用accesskey属性到某些按钮。但我不能设置alt + Faccesskey因为它打开了Firefox的菜单文件。我曾尝试下面的代码如何覆盖/禁用Firefox访问键的Firefox菜单快捷键

onkeydown = function(e){  
    if(e.altKey && e.keyCode == 'F'.charCodeAt(0)) { 
    e.stopImmediatePropagation(); 
    e.stopPropagation(); 
    return false; 
    } 
} 

它不会好像在火狐工作,但在工作正常。所有其他ALT组合键,可以覆盖除ALT + ˚F(文件菜单),ALT + Ë(编辑菜单),ALT + V(查看),ALT + 小号(历史),ALT + (书签),ALT + Ť(工具),alt + H(帮助)在firefox

我在Ubuntu上运行它。有没有办法做到这一点?它应该可以在Windows和Linux上运行。

+0

您是否可以选择使用较不显眼的按键组合?找到主要浏览器使用的键组合列表并避免这些组合可能是有价值的。 –

回答

0

对于alt + f或alt + F 以下代码将起作用。

onkeydown = function(e){  
    if(event.altKey && event.keyCode == 70) { 
     console.log("alt + f pressed") 
     event.preventDefault(); 
    } 
} 

如果说ALT + F - 你的意思是你想要做Alt + Shift + F/F - 下面的代码将在这种情况下

onkeydown = function(e){  
    if(event.altKey && event.shiftKey && event.keyCode == 70) { 
     console.log("alt + shift + f/F pressed") 
     event.preventDefault(); 
    } 
} 

组合的其余部分将在类似携手方式 请参阅关键代码表here

+0

它似乎不工作。我在Ubuntu 16.04 firefox中测试它。仍然弹出菜单。 –

+0

我会尝试使用ubuntu16.04和Firefox,并让你知道。 – SBhalla