我正在尝试运行下面列出的以下事件处理程序;它最初是一个按键功能,但是我需要配置按键。有人可以在这里解释我做错了什么吗?
$(document).on('keypress', function(event) {
if (event.shiftKey) {
if (event.which === 37) {
currentPosition = (currentPosition>0) ? parseInt(currentPosition)-1 : maxFocusablePosition;
console.log(' shift + left');
focusPosition(currentPosition);
}
else if (event.which === 39) {
currentPosition = (currentPosition<maxFocusablePosition) ? parseInt(currentPosition)+1 : 0;
console.log('shift + right');
focusPosition(currentPosition);
}
}
});
最佳答案
生成可打印字符时,会触发keypress
事件。由于您的代码正在寻找Shift键和箭头键(这两个键均不产生可打印的字符),因此您不会点击if
语句的任何分支。
您需要使用keyup
或keydown
。