我试图运行下面列出的以下事件处理程序;它最初是一个keydown函数,但我需要配置按键。有人可以解释我在这里做错了什么吗?
$(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);
}
}
});
答案 0 :(得分:1)
生成可打印字符时会触发keypress
事件。由于您的代码正在查找Shift键和箭头键(两个键都不会产生可打印字符) ,你不会碰到if
陈述的任何一个分支。
您需要使用keyup
或keydown
。