我正在尝试运行下面列出的以下事件处理程序;它最初是一个按键功能,但是我需要配置按键。有人可以在这里解释我做错了什么吗?

$(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语句的任何分支。

您需要使用keyupkeydown

07-28 10:59