Javascript CTRL快捷键持续错误

Javascript CTRL快捷键持续错误,javascript,hotkeys,shortcuts,ctrl,Javascript,Hotkeys,Shortcuts,Ctrl,我一直在为我的web应用程序编写一些快捷方式,其中一个保存我正在处理的页面,另一个关闭页面 这两种快捷方式与函数本身一样工作 这两种快捷方式都是为网络管理员设计的,这样他们就可以快速保存和关闭我们的主题编辑页面。COMMAND+S保存页面并关闭,而ESC仅关闭页面 问题是,当我按COMMAND+F搜索某个内容时,它搜索没有问题,但如果我在搜索之后或搜索过程中的任何时候按“S”键,它就像我按COMMAND+S并保存和关闭页面一样,就像它点击了快捷方式一样,即使没有同时按下COMMAND+S 有人知

我一直在为我的web应用程序编写一些快捷方式,其中一个保存我正在处理的页面,另一个关闭页面

这两种快捷方式与函数本身一样工作

这两种快捷方式都是为网络管理员设计的,这样他们就可以快速保存和关闭我们的主题编辑页面。COMMAND+S保存页面并关闭,而ESC仅关闭页面

问题是,当我按COMMAND+F搜索某个内容时,它搜索没有问题,但如果我在搜索之后或搜索过程中的任何时候按“S”键,它就像我按COMMAND+S并保存和关闭页面一样,就像它点击了快捷方式一样,即使没有同时按下COMMAND+S

有人知道如何解释这种行为吗?我什么都试过了

这是我的密码:

enableHotkeys: function() {
    var isCommand = false;
    document.onkeyup=function(e) {
        if (e.which == 91) {
            isCommand=false;
        }
    };
    document.onkeydown=function(e) {
        if (e.which == 91) {
            isCommand = true;
        } else if (e.which == 83 && isCommand == true) {
            themeArchive.codeEditSave();
            return false;
        } else if (e.which == 27) {
            themeEditPanel.close();
            return false;
        }
    };
},
disableHotkeys: function() {
    document.onkeyup=function(e) {};
    document.onkeydown=function(e) {};
},

你试过调试代码吗?由于调用的处理程序是
themeArchive.codeEditSave()
,因此应该在该行之后和
return false
之前放置一些
console.log
,以便理解代码的行为。试着调试
isCommand
并报告结果。检查一下,它似乎很好。如果在我按下COMMAND+F后,它会将COMMAND设置为true,但如果我没有按下任何键,则不会将其设置为false。这使得当我按下onkeydown功能上的S时,它认为我按下了COMMAND+S。似乎由于某种原因,我的onkeyup从未因为COMMAND+f而被击中。我试着一个接一个地点击command+f,看到它,然后识别出onkeyup,并将isCommand切换为false。为什么COMMAND+F会阻止onkeyup被调用?不幸的是,我不能向我们的系统添加任何外部API或任何类型的包/脚本。我必须把它全部硬编码。不过,谢谢你的建议。