如何在 Kindle Fire 上捕获 Phonegap 应用程序 运行 中的 "Go" 键?
How to capture "Go" key in a Phonegap application running on a Kindle Fire?
我的网络应用程序有一个处理程序,可以侦听按下的键并做出相应的响应。
handler: function(event) {
if (event.which === Constants.ENTER_KEY) {
...
}
}
Constants.ENTER_KEY
是 13
这是我的输入字段(在 JSX 中):
<input id="some-id" onKeyDown={this.handler} />
现在,我正在将我的 Web 应用程序转换为在 Kindle Fire 上运行的移动应用程序。
我现在有 "Go" 而不是 "Enter" 键。检查该事件,我看到
which: 0
, charCode: 0
, keyCode: 0
, key: 'Unidentified'
.
事实上,我测试的每个键都在 event.which: 0
如何捕获 "Go"?
因为我相信 FireOS 是在 Android 之上构建的,所以我将研究 Android 解决方案。我会根据我的发现进行更新。
编辑:
需要在 <input>
中检测密钥。也许我应该在它周围包裹一个 <form>
并听取一个 onSubmit
...
编辑 2:
我发布了一个解决方案,但想要解释其工作原理。谢谢。
哇,这很奇怪。
将 onKeyDown
更改为 onKeyPress
即可解决问题。不知道为什么。
which: 13, charCode: 13, keyCode: 0, key: 'Enter'
编辑:
改成onKeyPress
后,好像只有按"Go"才输入handler
。
我的网络应用程序有一个处理程序,可以侦听按下的键并做出相应的响应。
handler: function(event) {
if (event.which === Constants.ENTER_KEY) {
...
}
}
Constants.ENTER_KEY
是 13
这是我的输入字段(在 JSX 中):
<input id="some-id" onKeyDown={this.handler} />
现在,我正在将我的 Web 应用程序转换为在 Kindle Fire 上运行的移动应用程序。
我现在有 "Go" 而不是 "Enter" 键。检查该事件,我看到
which: 0
, charCode: 0
, keyCode: 0
, key: 'Unidentified'
.
事实上,我测试的每个键都在 event.which: 0
如何捕获 "Go"?
因为我相信 FireOS 是在 Android 之上构建的,所以我将研究 Android 解决方案。我会根据我的发现进行更新。
编辑:
需要在 <input>
中检测密钥。也许我应该在它周围包裹一个 <form>
并听取一个 onSubmit
...
编辑 2:
我发布了一个解决方案,但想要解释其工作原理。谢谢。
哇,这很奇怪。
将 onKeyDown
更改为 onKeyPress
即可解决问题。不知道为什么。
which: 13, charCode: 13, keyCode: 0, key: 'Enter'
编辑:
改成onKeyPress
后,好像只有按"Go"才输入handler
。