【发布时间】: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