我的网络应用程序有一个处理程序,可以监听按下的键并相应地做出响应。
handler: function(event) {
if (event.which === Constants.ENTER_KEY) {
...
}
}
Constants.ENTER_KEY
是13
这是我的输入字段(在JSX中):
<input id="some-id" onKeyDown={this.handler} />
现在,我将我的网络应用转换为在Kindle Fire上运行的移动应用 而不是&#34;输入&#34;关键,我现在有了#34; Go&#34;。检查那个事件,我看到了
which: 0
,charCode: 0
,keyCode: 0
,key: 'Unidentified'
。
事实上,我测试的每个密钥都会产生event.which: 0
如何捕获&#34; Go&#34;?
由于我认为FireOS是建立在Android之上的,因此我将研究Android解决方案。我将根据我发现的内容进行更新。
修改
需要在<input>
中检测密钥。也许我应该围绕它<form>
并听取onSubmit
...
编辑2:
我发布了一个解决方案,但想解释一下它的工作原理。感谢。
答案 0 :(得分:0)
将onKeyDown
更改为onKeyPress
可以解决问题。不知道为什么。
which: 13, charCode: 13, keyCode: 0, key: 'Enter'
修改强>
更改为onKeyPress
后,只有在按“开始”时才会输入handler
。