【问题标题】:Firefox : override Alt + s key shortcutFirefox:覆盖 Alt + s 快捷键
【发布时间】:2015-02-06 12:36:59
【问题描述】:

我正在开发一个应用程序,其中有很多用于复制某些 UI 操作的快捷键。这样的快捷键组合之一是 Alt + s

document.body.addEventListener('keyup',keyUpHandler,false);

function keyUpHandler(e)
{
    e.stopPropagation();
    var key = e.which || e.keyCode;
    cellKeys(e,key);
}

function cellKeys(e,key){
    if (e.altKey    && key  === 83) document.getElementById('saveCell').dispatchEvent(mouseclick); //alt + s    
}

此组合键似乎适用于除 Mozilla firefox 之外的所有其他浏览器,因为浏览器使用此快捷方式在页面顶部打开历史菜单。

我正在寻找解决此问题的方法。

PS:我不能使用按键事件监听器,我必须使用相同的组合键。同样使用 e.preventDefault() 也是徒劳的。

【问题讨论】:

  • 我希望没有办法做到这一点。
  • @AlvaroMontoro 阻止浏览器显示某些菜单会引起哪些安全问题。我们一直覆盖默认的浏览器键盘快捷键。我猜这些天的用户代理足够聪明,可以添加检查/阻止他们认为可能导致安全漏洞的关键快捷方式。
  • 你是对的。我理解了一些不同的东西。

标签: javascript firefox


【解决方案1】:

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

window.onkeydown = function(e){
  if(e.altKey && e.keyCode == 83){
    e.preventDefault();
    alert("Shotcut Pressed")
  }
}

【讨论】:

    猜你喜欢
    • 2022-12-31
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多