快捷键不起作用Ctrl + Shift + numpad1

时间:2018-11-19 12:11:12

标签: javascript

我需要在键盘快捷键上实现一个简单的功能,但不能与'shift'键结合使用:(。

 window.onkeydown = (event) => {
  if (event.ctrlKey && event.shiftKey) {
    switch (event.key) {
      case '1':
        // something
        break;
    }
  }
}

3 个答案:

答案 0 :(得分:1)

由于按住SHIFT,因此键代码切换到感叹号。可能的解决方案是将切换中的大小写从'!'更改为'1'。但是,您可能正在使用数字键盘。我建议在这种情况下避免使用密钥,而只需获取event.code

window.onkeydown = (event) => {
    if (event.ctrlKey && event.shiftKey) {
        switch (event.code) {
            case 'Digit1':
                alert()
            break;
        }
    }
}

我希望这会有所帮助。

答案 1 :(得分:0)

按下a.index(inp)时,Shift将是被按下的字符。如果您按event.key,则为Shift + 1

一种可能的解决方案是使用!属性。 对于小键盘,它将给出event.codeDigit1等。

答案 2 :(得分:0)

 if (event.ctrlKey && event.code === 'Numpad1')

这有效

相关问题