如何使用Javascript覆盖/禁用firefox菜单快捷键

如何使用Javascript覆盖/禁用firefox菜单快捷键,javascript,html,firefox,access-keys,Javascript,Html,Firefox,Access Keys,我有一个web应用程序,其中我对某些按钮使用accesskey属性。但是我无法设置alt+Faccesskey,因为它会打开firefox的文件菜单。我尝试了以下代码 onkeydown = function(e){ if(e.altKey && e.keyCode == 'F'.charCodeAt(0)) { e.stopImmediatePropagation(); e.stopPropagation(); return false;

我有一个web应用程序,其中我对某些按钮使用
accesskey
属性。但是我无法设置alt+F
accesskey
,因为它会打开firefox的文件菜单。我尝试了以下代码

onkeydown = function(e){    
    if(e.altKey && e.keyCode == 'F'.charCodeAt(0)) {
    e.stopImmediatePropagation();
    e.stopPropagation();
    return false;
    }
}
它在firefox中似乎不起作用,但在chrome中效果很好。除了firefox中的alt+F(文件菜单)、alt+E(编辑菜单)、alt+V(视图)、alt+S(历史)、alt+B(书签)、alt+T(工具)、alt+H(帮助)之外,其他所有alt组合键都可以被覆盖

我在Ubuntu中运行它。有办法吗?它应该同时在Windows和Linux中工作。

对于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(); 
   }
}
其余的组合将以类似的方式工作 有关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(); 
   }
}
其余的组合将以类似的方式工作
请参阅钥匙代码表

您是否可以选择使用不太显眼的钥匙组合?查找主要浏览器使用的组合键列表并避免使用这些组合键可能很有价值。您是否可以选择使用不太显眼的组合键?找到一个主要浏览器使用的组合键列表并避免使用这些组合键可能很有价值。我正在Ubuntu 16.04 firefox中测试它。仍然会弹出菜单。我会尝试使用ubuntu16.04和firefox,并让您知道。它似乎不起作用。我正在Ubuntu 16.04 firefox中测试它。仍然会弹出菜单。我将尝试使用ubuntu16.04和firefox,并让您知道。