ALT后跟Q(自定义快捷方式)不能在javascript中使用浏览器
我正在尝试为我的应用程序实现一个键盘快捷键。我想使用ALT+Q组合。但是,当我尝试运行代码并按ALT键时,它会将焦点设置在浏览器菜单栏控件上,结果失败 我尝试了几种方法来阻止事件传播,比如ALT后跟Q(自定义快捷方式)不能在javascript中使用浏览器,javascript,jquery,alt,Javascript,Jquery,Alt,我正在尝试为我的应用程序实现一个键盘快捷键。我想使用ALT+Q组合。但是,当我尝试运行代码并按ALT键时,它会将焦点设置在浏览器菜单栏控件上,结果失败 我尝试了几种方法来阻止事件传播,比如 function KeyDownEventHandler() { if (event.keyCode == 18) { //stop code } } stopPropagation(event); CancleBubbling(); return false; event.
function KeyDownEventHandler() {
if (event.keyCode == 18) {
//stop code
}
}
stopPropagation(event);
CancleBubbling();
return false;
event.preventDefault();
但它的行为方式依然如此编辑-实际上问题不在于检测。当用户按下ALT键并释放它,然后按下Q键时,它会高亮显示浏览器菜单。它不调用自定义快捷方式的函数。 这是浏览器的默认行为吗?我们能推翻它吗 请在同样的地方帮忙
谢谢更新 下面是一个精确的“ALT+Q”序列:
document.onkeydown = KeyCheck;
var previousKeyCode = 0;
function KeyCheck(e) {
var KeyID = (window.event) ? event.keyCode : e.keyCode;
switch (KeyID)
{
case 18:
previousKeyCode = 18;
break;
case 81:
if (previousKeyCode == 18) {
alert("ALT+Q Pressed!!!")
}
previousKeyCode=KeyID;
break;
default: previousKeyCode=KeyID;
}
}
在IE10中,它会闪动菜单栏,然后在出现警报时关闭它。我不太明白IE10有什么问题。在我的个人电脑上,IE10 ff和chrome的工作原理是一样的,可能是我的个人电脑上的某些东西,实际上问题不在于检测。当用户按下ALT键并释放它,然后按下Q键时,它会高亮显示浏览器菜单。它不调用自定义快捷方式的函数。您在问题中说要检测ALT+Q组合。。。。。不是吗?