弹出虚拟键盘时如何在 iOS 浏览器上重新定位视图?

Posted

技术标签:

【中文标题】弹出虚拟键盘时如何在 iOS 浏览器上重新定位视图?【英文标题】:how do i reposition the view on an iOS browser when the virtual keyboard pops up? 【发布时间】:2012-07-11 08:36:34 【问题描述】:

我正在做一个与 iphone 短信风格有些相似(不是真正的克隆)的聊天室,但是当我在实际的移动设备上使用时,文本输入会在屏幕上居中并放大,这对于那些设备来说是不切实际的.如何使文本输入更接近(或更好地位于下方)虚拟键盘,而不是在屏幕中居中。我没有任何非 ios 设备可以尝试此操作,但我认为其他 webkit 移动浏览器也会出现类似问题。

还有一个额外的问题,有什么方法可以让键盘在按下 enter 时消失或检查是否按下了 done 按钮?

谢谢!

【问题讨论】:

【参考方案1】:

将此添加到您的标题中:

<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">

这将防止放大聚焦。如果没有帮助,请尝试添加 user-scalable=no。

至于隐藏键盘,你需要做的就是强制输入失去焦点。

element.blur();

【讨论】:

以上是关于弹出虚拟键盘时如何在 iOS 浏览器上重新定位视图?的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 当文本字段在子视图内时,键盘上的 UIScroll 弹出到文本字段

ios 最新系统bug与解决——弹出键盘再收起时,原虚拟键盘位点击事件无效

ios 最新系统bug与解决——弹出键盘再收起时,原虚拟键盘位点击事件无效

关于ios的safari下,页面底部弹出登陆遮罩层,呼出软键盘时 问题解决

如何在 Web 应用程序上获取键盘高度

在自定义视图上显示弹出菜单时不要关闭键盘