Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 react应用程序中的onKeyDown功能存在问题_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript react应用程序中的onKeyDown功能存在问题

Javascript react应用程序中的onKeyDown功能存在问题,javascript,reactjs,redux,Javascript,Reactjs,Redux,我是React新手,使用React Redux创建计算器应用程序以获得框架知识。 应用程序正在处理onClick事件,但存在一些问题。我已经创建了一个沙箱供任何人查看。 在使用计算器应用程序时,我面临两个挑战 onKeyDown不工作。基本上,我想要的功能与onClick事件中发生的功能相同(工作正常) 在任何操作之后(单击“=”之后),当我单击任何其他数字时,前一个状态未清除。对于eg,如果我加上52+6,单击后=当我单击任何数字(eg为2)时,它将选择为62。基本上应该是清楚的 非常感谢您

我是React新手,使用React Redux创建计算器应用程序以获得框架知识。 应用程序正在处理onClick事件,但存在一些问题。我已经创建了一个沙箱供任何人查看。

在使用计算器应用程序时,我面临两个挑战

  • onKeyDown不工作。基本上,我想要的功能与onClick事件中发生的功能相同(工作正常)
  • 在任何操作之后(单击“=”之后),当我单击任何其他数字时,前一个状态未清除。对于eg,如果我加上52+6,单击后=当我单击任何数字(eg为2)时,它将选择为62。基本上应该是清楚的

  • 非常感谢您的帮助。

    您不能在
    上直接使用
    onKeyDown
    ,因为事件仅在当前聚焦元素时触发,并且在页面中一次只能聚焦一个元素

    您需要做的是将
    onKeyDown
    移动到父元素,并将此侦听器放在父元素上

    因此,处理事件的方法是解析键盘上的哪个键正在被点击,然后根据该信息运行操作

    请看这里: