1

我正在用 JavaScript 编写一个游戏编程库,我正在尝试在 iPad 平台上使用 iCade。我实际上是通过一个相当老套的解决方案让它工作的。但是,它还没有完全实现。

iCade 使用键盘按键进行翻译。问题是我无法将键盘事件附加到输入元素以外的东西。我的第一个问题是有没有办法将键盘事件附加到不是文本输入元素的东西上?

所以相反,我将它附加到一个元素上。我将元素不透明度设置为 0,宽度/高度设置为 0,并将 z 索引方式推到后面,并将其聚焦。工作正常,除了它有点hacky,但它仍然存在。但是,当元素被聚焦(并且蓝牙未打开)时,软键盘会出现。此外,当启用 iCade/蓝牙时,键盘消失,但您仍然停留在浏览器底部的表单助手栏(上一个/下一个)。它很难看,而且妨碍了我的展示。我的第二个问题是无论如何要使软键盘散焦但保留输入的键事件,或者只是隐藏浏览器中的底部输入栏?

此外,解决方案不应涉及 jQuery。我已经在我的游戏库中编写了所有内容,而无需 jQuery。

更新:我想出了一种更简洁的方式来实现输入字段。说到这里,我想补充第三个问题:如果第一个和第二个问题都做不到,有没有什么办法可以让 iPad 浏览器窗口底部的半透明表单助手栏消失?如果那是可能的,那么我的任务将 100% 完成。

4

1 回答 1

0

显然,经过研究,这是不可能的——只有操作系统调用才能做到这一点,而且它们都没有 JS 接口,即使是通过 webkit。我要做的是提供修改栏的画布大小的选项。

于 2013-06-11T16:02:26.777 回答