【问题标题】:How to override / disable firefox menu shortkeys using Javascript for accesskey如何使用 Javascript for accesskey 覆盖/禁用 Firefox 菜单快捷键
【发布时间】:2020-01-03 19:10:31
【问题描述】:

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

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(工具), alt firefox 中的 kbd>+H(帮助)。

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

【问题讨论】:

  • 您可以选择使用不太显眼的组合键吗?查找主要浏览器使用的组合键列表并避免使用这些组合可能是有价值的。

标签: javascript html firefox access-keys


【解决方案1】:

对于 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

【讨论】:

  • 它似乎不起作用。我正在 Ubuntu 16.04 firefox 中对其进行测试。仍然会弹出菜单。
  • 我会尝试使用 ubuntu16.04 和 firefox 并告诉你。
猜你喜欢
  • 1970-01-01
  • 2022-12-31
  • 2015-07-09
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
相关资源
最近更新 更多