Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 识别用户按键输入是否在键盘的左/右侧的任何聪明方法_Javascript_Reactjs_Typescript - Fatal编程技术网

Javascript 识别用户按键输入是否在键盘的左/右侧的任何聪明方法

Javascript 识别用户按键输入是否在键盘的左/右侧的任何聪明方法,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我正在构建一个React应用程序,其中用户分别在屏幕的左侧和右侧显示两个数字。然后,系统会提示用户按下键盘左侧或右侧的按钮,以指示所显示的2个数字中哪个更大 我的问题是,有没有一种更聪明的方法来确定键输入的哪一侧,而不仅仅是简单地生成一个if()语句,列出所有要标记为“左侧”的键值,反之亦然 如果有助于缩小这种情况下的答案,我会考虑从垂直线(7,u,j,n)< /代码>中留下的任何东西作为左侧输入,并且所有正确的(包括所说的键)都是右侧输入。< /P> 在这种特殊情况下,我不允许改变用户的回答方

我正在构建一个React应用程序,其中用户分别在屏幕的左侧和右侧显示两个数字。然后,系统会提示用户按下键盘左侧或右侧的按钮,以指示所显示的2个数字中哪个更大

我的问题是,有没有一种更聪明的方法来确定键输入的哪一侧,而不仅仅是简单地生成一个
if()语句,列出所有要标记为“左侧”的键值,反之亦然

如果有助于缩小这种情况下的答案,我会考虑从垂直线<代码>(7,u,j,n)< /代码>中留下的任何东西作为左侧输入,并且所有正确的(包括所说的键)都是右侧输入。< /P>


在这种特殊情况下,我不允许改变用户的回答方式,否则我现在已经这么做了

计算机能从键盘获得的唯一输入是按键代码,它没有指示按键在键盘中的物理位置。尽管字母表在所有主要键盘布局中几乎都位于相同的位置,但我也看到了例外

因此,为了让你的程序大致完成这个任务,我能想到的一种方法是将键代码放入一个数组中,其中左键代码放在长度的一半以下,右键代码放在数组长度的一半以上

//Mock key codes
var keyPos = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];


function isLeft(keyCode) {

    return keyPos.indexOf(keyCode) + 1 > keyPos.length / 2
}
您必须了解概念并调整代码。你可能有奇数把钥匙


此外,还有许多其他方法可以通过阵列实现这一点。键正在查找元素索引并将其与键位置关联。

z是左还是右?对我来说它在右边…对我来说它在左边。我想我可以澄清一下,我使用的是带有“Ä,Ö,Å”布局的“北欧键盘”。我也同意一般性的回答,但不是具体情况。不,自定义if语句似乎是唯一的选择。太糟糕了,我本来希望有更优雅的方式来做,但我自己也找不到任何其他方式。不是所有的键盘都有一个可查询的布局,而不是告诉他们按任何按钮,为什么不按一下特定的按钮呢