如何在网络应用中获得键盘高度

时间:2017-01-16 20:52:09

标签: javascript html mobile progressive-web-apps

这是针对任何移动浏览器的网络应用,但主要针对iOS10的Chrome和Safari。 当用户点击任何输入时,浏览器会打开内置键盘,这很好,但我正在尝试调整/重新定位与该用户更相关的项目。

有没有计算键盘的高度,以便我可以相应调整项目?通用解决方案会更好,因为输入可能会打开不同类型的键盘(文本,数字...),但硬编码选项在此阶段也是有效的响应。

我已经围绕 window.screen window.innerHeight 进行了测试,等等无济于事......

谢谢!

1 个答案:

答案 0 :(得分:0)

  

注意: 此答案完全归功于用户Alex k。但是他的解决方案已被OP接受   评论部分,我想这些应该在答案部分   因为这是一个非常有用的问题。

要解决此问题,请尝试CSS media queries,如下所示:

var d = document.getElementById('d');

checkDimensions();

window.onresize = checkDimensions;

function checkDimensions(prevHeight) {
  d.innerHTML = 'Window dimensions: ' + window.innerWidth + ' x ' + window.innerHeight;
}
.media-query-test {
  display: none;
  color: red;
}

@media all and (max-height: 700px) {
  .media-query-test {
    display: block;
  }
}
<input type="number" />

<div id="d">
</div>

<div class="media-query-test">
  Height is less than 700px!
</div>

这是JSFiddle:https://jsfiddle.net/t3yn2yz1/6/