我试图在我的应用程序中捕获某些 keydown 事件,但前提是没有同时按下“控制”键。我不想遇到屏幕阅读器键盘快捷键的问题。Shift
,Ctrl
并且Alt
很容易检查,因为它们在 javascript 事件中,但我还需要检查Ins
和Windows
键以及任何 Mac 控制键。
这是我到目前为止所得到的,它按预期工作,但是当Ins
或被Windows
按住时我的事件仍然被触发。
handleKeydown: function(event) {
var comboKeyPressed = event.ctrlKey || event.shiftKey || event.altKey;
if(!comboKeyPressed && event.keyCode === $.ui.keyCode.HOME) {
event.preventDefault();
this.$('>ul>li:last').attr('tabindex', -1);
this.$('>ul>li:first').attr('tabindex', 0).focus();
} else if (!comboKeyPressed && event.keyCode === $.ui.keyCode.END) {
event.preventDefault();
this.$('>ul>li:first').attr('tabindex', -1);
this.$('>ul>li:last').attr('tabindex', 0).focus();
}
}
有没有办法轻松检查其他控制键,还是我需要捕获这些事件并在一些全局布尔值中保留它们this.isInsertPressed
?