【发布时间】:2019-11-12 15:16:15
【问题描述】:
如何将移动浏览器需要发送到文本框的所有键盘击键转发到我的游戏画布中?
我必须在我的游戏下方添加这种输入框,以便输入框触发手机屏幕上的键盘,并且游戏在 iPhone 上运行正常,但在 Android 上不行。游戏当然可以使用物理键盘。
<input value="click here" style="font-size: 22px;" autocorrect="off" autofocus type='text' id='foo'><div onclick='$("#foo").focus();'>click here</div>
【问题讨论】:
-
只需在文本框中添加一个
input事件侦听器,然后在处理函数中执行任何操作。到目前为止,您尝试过什么吗?如果是,请在问题中提出。 -
对于 IOS,我的游戏似乎可以获取键盘事件;但 Android 不会将事件传递到游戏画布。
-
你能解释一下你的游戏是如何运作的吗?文本框在做什么?为什么会成为焦点?您是否将 keydown 侦听器附加到 canvas 元素,它适用于 iOS 但不适用于 Android?现在这个问题可能很快就会结束。
-
谢谢克里斯,请用手机点击这里看看游戏和它下面的文本框是如何工作的,点击游戏红色按钮后需要点击一个文本框,这使得iPhone虚拟键盘可以使用游戏rebrand.ly/ut2nh8
-
嗯,这花了一些时间,但我终于明白了(我想)。来源:codesandbox.io/s/intelligent-margulis-kwvxf Live URL:kwvxf.csb.app 代码创建了一个新事件,我手动设置了它的
.key,所以问题是画布监听器正在寻找哪个属性。
标签: javascript android