Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ALT后跟Q(自定义快捷方式)不能在javascript中使用浏览器_Javascript_Jquery_Alt - Fatal编程技术网

ALT后跟Q(自定义快捷方式)不能在javascript中使用浏览器

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.

我正在尝试为我的应用程序实现一个键盘快捷键。我想使用ALT+Q组合。但是,当我尝试运行代码并按ALT键时,它会将焦点设置在浏览器菜单栏控件上,结果失败

我尝试了几种方法来阻止事件传播,比如

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组合。。。。。不是吗?