Firefox中的Alt-s Javascript事件处理程序:如何实现?

Firefox中的Alt-s Javascript事件处理程序:如何实现?,javascript,firefox,dom-events,Javascript,Firefox,Dom Events,我有一个webapp,可以使用某些流行的浏览器查看,我需要支持处理某些按键事件。我们的用户将使用Windows,按键事件始终使用Alt键作为修改器 对于keyUp/keyDown事件处理没有特定的要求,用户只需在按下Alt-F键时感觉到发生了什么 我们如何在Firefox浏览器中实现这一点,我们需要支持Firefox浏览器? 问题: 当FireFox菜单栏可见(文件、编辑…)时,按下菜单栏已声明的Alt键组合(例如:Alt-f)将导致相应的菜单展开,这一事实干扰了我们所有的实现尝试。我们不希望这

我有一个webapp,可以使用某些流行的浏览器查看,我需要支持处理某些按键事件。我们的用户将使用Windows,按键事件始终使用Alt键作为修改器

对于keyUp/keyDown事件处理没有特定的要求,用户只需在按下Alt-F键时感觉到发生了什么

我们如何在Firefox浏览器中实现这一点,我们需要支持Firefox浏览器?

问题: 当FireFox菜单栏可见(文件、编辑…)时,按下菜单栏已声明的Alt键组合(例如:Alt-f)将导致相应的菜单展开,这一事实干扰了我们所有的实现尝试。我们不希望这种情况发生。我已经看到了一些没有遇到这个问题的web应用程序示例(使用成千上万行javascript…),所以我知道这是可能的,但我不知道在我亲眼看到的示例中是如何做到的

我可以在web上找到几十个关于如何用JS编写alt键处理程序的示例,但是我没有找到一篇关于这个问题的文章,也没有找到一个在我描述的环境下工作的代码示例。我们正在使用SpringMVC和jQuery的最新版本(如果有必要的话)

我很乐意用任何其他证明相关的信息来更新这个问题

关于解决建议的旁注:

请求者特别要求我使用Alt键作为修改器,理由是他们使用FireFox中的其他Web应用程序,在这些应用程序中,菜单栏都是可见的,Alt键组合也可以工作。(示例:Alt-s)。因此,如果您愿意,请随时在评论部分发布善意的解决方案-我保证我个人的好奇心会驱使我阅读它们-但请记住这不是我的问题。

热键在各种项目中都做得很好,例如。你可以在他们的演示页面上看到大多数热键。是的

在Firefox40.0.2中(当然,当页面处于焦点时,而不是代码笔编辑器时),这是一个适用于我的方法(不触发历史菜单)


请注意,某些浏览器不允许您捕获某些快捷方式!Mozilla Firefox(版本:51.0.1,Linux)中Alt+s快捷方式的本机Javascript工作示例:


Firefox插件是一个可接受的解决方案吗?或者禁用Firefox内置的Alt键命令?你确定他们没有在你看到的例子中使用这种变通方法吗?我个人使用了他们希望我模仿的webapp(它是专有的,或者我会在这里提供)。不使用FF不附带的插件,也不更改默认的FF配置选项。对于使用标准FF 38.0.5的用户来说,它“非常有效”。但愿我知道怎么做:)
$(document).bind('keydown', 'Alt+s', function() {
    $('body').append('Alt+s was pressed; ');
    // alert('alert will cause the menu to activate, do not use');
    return false;
});
window.onkeydown = function(e){
  if(e.altKey && e.keyCode == 83){
    e.preventDefault();
    alert("Shotcut Pressed")
  }
}