0
我的webapp已经实现了键盘快捷键。对于每个键,无论是否按下,都有一个布尔变量。当出现一些特定的快捷方式时,我会采取一些行动失去焦点时处理键盘事件的最佳方式
问题是,有些操作会使我的文档失去焦点(例如打开对话框,保存对话框或简单警报()),并且我的web应用程序无法找到密钥是否被释放。
即使在alert()期间,是否可以继续获取键盘事件?我知道我可以将所有键设置为False,当出现一些快捷键时。有更优雅的东西吗?
if(ctrlDown && mDown) alert("...");
看到这里:https://jsfiddle.net/fvqhbLa1/1/该文件显示是否按下Ctrl,M,B。但是当你按下Ctrl和M时,会有提醒,关闭它之后文件仍然认为Ctrl和M被按下了。现在,您可以按下Ctrl键并在不按下M的情况下触发警报()。
我知道这个问题 “解决方案”。但我有大约100个快捷方式和100个动作,例如Ctrl + Space是动作A,Ctrl + Space + Alt是动作B(A和B保持焦点),我需要在A和B之间切换,只需按下并释放Alt键(同时按住Ctrl和空格键)。如果我像你说的那样做,我的代码会延长两倍。 –
有没有办法让按键没有键盘事件?或者其他解决方案? –