当移动safari或chrome上的屏幕键盘打开时,是否有任何javascript事件被触发?

koe*_*ehr 13 javascript android on-screen-keyboard ios

我尝试对Web应用程序中的屏幕键盘做出反应.不幸的是,有些事情使这一点变得复杂:

首先,该应用程序必须在移动平台(平板电脑)和台式机上运行.此外,禁止滚动文档/正文并进一步增加趣味,平板电脑必须使用横向模式.

因此,如果有人选择任何输入字段,屏幕上的键盘会打开并阻挡页面一半的视线,因此一些输入变得不可见,我需要更改它.

不幸的是,似乎没有任何事件被触发,这表明应用程序的一半变得不可见.我已经检查过滚动并调整事件大小,但它们也没有触发.

当然,一旦我确定要在平板电脑上,我总会以某种方式做出反应.可能95%的用户无论如何都不会连接硬件键盘.但是,有没有更清洁的方式?

Zec*_*umo 6

在 Android(抱歉 iOS)上,当键盘调整页面大小时,将触发 resize 事件。在您的窗口上添加一个 onresize 事件处理程序并根据需要调整滚动。


koe*_*ehr 5

不幸的是,这里的答案很明确:。这里有一些相关的问题,以及一些其他信息和技巧:

虚拟键盘处于活动状态时的屏幕样式

iPad Web App:在Safari中使用JavaScript检测虚拟键盘?

Android / iPhone Webkit,键盘弹出时触发了事件?