隐藏移动Chrome上的键盘;t改变车窗高度

Hiding keyboard on mobile Chrome doesn't change window height

本文关键字:改变 车窗 高度 键盘 移动 Chrome 隐藏      更新时间:2023-09-26

当您在移动Chrome(在我的iOS 7.0.3和Chrome 33.0.1750.21中)上打开键盘时,窗口的高度会发生变化。没关系。但是当您隐藏键盘时,窗口的高度不会向后更改

我做了一个简单的演示,在调整窗口大小时写入窗口高度:

$(window).on('resize', function () {
    $('#heights').prepend($(window).height() + '<br />');
}).resize();

你可以在这里试试:http://jsfiddle.net/orthes/QkFCZ/.

只需点击输入即可打开键盘,然后将其隐藏。

它的作用:

  1. 默认高度是正确的(在我的iPad mini上为836px)
  2. 当我打开键盘时,窗口高度变为538px-这仍然是正确的
  3. 当我关闭键盘时,调整大小事件甚至没有启动-这里是问题开始的地方
  4. 当我点击一个链接手动获取当前窗口高度时,它会写入538px(尽管应该回到836px)

这是一个已知的问题吗?有解决办法吗?

当我想使用高度为100%的固定定位元素时,它会影响我。加载时,高度是正确的,但当我打开和隐藏键盘时,元素的高度不会调整回100%。

我确信这是chrome/操作系统组合中的一个错误。因此,为了解决这个问题,您可能需要考虑更改页面的布局CSS。

要查看有关调整大小事件支持的更多信息,您可以在此处阅读:

http://www.quirksmode.org/dom/events/resize_mobile.html在完全支持键盘下查看扩展键盘时的大小调整。