javascript - 如何使用 Javascript 作为 accesskey 覆盖/禁用 Firefox 菜单快捷键

标签 javascript html firefox access-keys

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

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

它看起来不像在 firefox 中工作,但在 chrome 中工作正常。除了 alt+F(文件菜单)、alt+ 之外,所有其他 alt 组合键均可被覆盖E(编辑菜单)、alt+V(查看)、alt+S(历史记录) ), alt+B(书签),alt+T(工具),altfirefox 中的 kbd>+H(帮助)。

我在 Ubuntu 中运行它。有办法做到吗?它应该可以在 Windows 和 Linux 中运行。

最佳答案

对于 alt + falt + 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

关于javascript - 如何使用 Javascript 作为 accesskey 覆盖/禁用 Firefox 菜单快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43004303/

相关文章:

javascript - 使用 Ionic 和 Webpack 导入 ngstorage 时无法解析模块 'angular'

javascript - 从 jquery call 调用 Angularjs HTTP 请求服务或选择 open

javascript - 从 html 调用 javascript 对象方法

html - CSS 类在 IE 8 和 IE 9 中应用,但在 IE 11 中不应用

http - 为什么 Firefox 和 webkit 将 http :///example. org(带有三重斜杠)视为有效 URL?

javascript - while 条件中的赋值表达式是一种不好的做法?

javascript - 用逗号替换空格和空格,用JS中的连字符?

javascript - 来自 Chart.js 的堆叠组栏 : Can I give each stack group a unique color?

html - Chrome开发者工具中图片的尺寸

javascript - 如何从事件选项卡(在热键之后)获取后台脚本中的选定文本?