我正在构建一个SPA,如果我能捕获快捷键cmd/ctrl+shift+1到9,它将非常有用。在我看来,这个应该是可能的,因为我知道没有浏览器将这些键绑定到其他任何东西,但出于某种原因,按cmd+shift+1(我使用的是macbook)甚至无法引起键盘事件。
这是Chrome的固有限制,还是有一些我不知道的特殊的事情需要做来捕捉这些事件?
我没有macbook,但我可以捕获ctrl+shift+1(一定要关注片段结果框架):
document.body.addEventListener('keyup', function(e)
{
if((e.code == 'Digit1' || e.code == 'Numpad1') && e.ctrlKey && e.shiftKey)
{
console.log('ctrl+shift+1');
}
else
{
console.log(e.key, 'pressed')
}
});
这取决于布局,也就是说,如果你不使用QWERTY,要小心!关于不同键盘布局的帮助,请参阅KeyboardEvent
页面。