4

当您在移动 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%。

4

1 回答 1

2

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

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

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

于 2014-04-11T07:35:25.550 回答