我正在尝试在我的网站上添加键盘快捷键,以便使用键盘进行快速导航。然而,当我尝试使用Alt+X快捷键时,遇到了一个小问题。事件运行得非常好,如预期地返回了false
,但浏览器的文件菜单仍然弹出。我也尝试过preventDefault
方法,但没有改变。
精简版脚本如下:
document.documentElement.onkeydown = function(e) {
e = e || window.event;
switch( e.keyCode || e.which) {
// some cases here - most notably:
case 116: // F5 key
if( activeFrame) {
activeFrame.contentWindow.location.reload();
// reloads an iframe if one is active
return false;
}
break;
// more cases...
case 88: // X key
if( e.altKey) {
// do something
return false;
}
}
}
如上所述,覆盖默认的 F5 键操作是完全可行的 - 仅当没有 iframe 激活时,浏览器才会重新加载页面。我不太清楚如何防止在按下 Alt+X 时出现菜单。
alt+X
,还是适用于其他菜单快捷键?要快速检测 keyCode 的方法,请使用:http://asquare.net/javascript/tests/KeyCode.html - Rob W