移动Safari或屏幕上的屏幕键盘打开时是否触发了JavaScript事件?
我尝试对我们的Web应用程序中的屏幕键盘做出反应。 不幸的是有一些事情复杂化了:
首先,应用程序必须在移动平台(平板电脑)和桌面平台上运行。 另外禁止滚动文档/文本,为了增加更多的内容,横向模式在平板电脑上是强制性的。
所以,如果有人select了任何input字段,屏幕上的键盘就会打开,并阻挡了一半的视线,因此一些input变得不可见,我需要改变它。
不幸的是,似乎根本没有发生任何事件,这表明,一半的申请刚刚变得不可见。 我已经检查过滚动和调整事件大小,但是它们也没有启动。
当然,只要我确定要在平板电脑上,我总是可以做出反应。 可能有95%的用户不会附加硬件键盘。 但是没有更清洁的方法吗?
不幸的是,这里的答案是明确的: 不 。 有一些相关的问题在这里有一些进一步的信息和技巧:
虚拟键盘处于活动状态时的屏幕样式
iPad的Web应用程序:检测虚拟键盘在Safari中使用JavaScript?
Android / iPhone的WebKit,键盘popup触发事件?
你尝试了焦点事件吗?
因此,当键盘出现时,您可以使用类locking窗体(或其他父元素)的最小高度,因此用户可以在selectinput时滚动触摸屏。
我正在寻找一个类似的问题,这个窍门解决了我的情况。 =)