由虚拟键盘遮挡的聚焦输入字段

时间:2016-12-11 14:59:44

标签: html css mobile touch firefox-os

示例:

<!DOCTYPE html>
<title>Test</title>
<body style="position: relative; overflow: hidden;">
  <input type="text" style="position: absolute; top: 420px;">
</body>

从左到右查看下面的图像序列:

  1. 新装入的页面。

  2. 重点关注输入字段。它被虚拟键盘遮挡了。

  3. 只有用户开始输入后,输入字段才会显示。

  4. 删除overflow: hidden会使输入字段在焦点上可见,我认为这对用户更友好。

    有没有办法为正文指定隐藏的溢出,而不是让虚拟键盘模糊聚焦的输入字段?

    Sequence of screenshots of Firefox OS simulator

1 个答案:

答案 0 :(得分:1)

我用屏幕上的动画解决了屏幕键盘上模糊的输入

    var headerHeight = $("header").outerHeight(true);
    $(document).on('focus', 'input:not([name=option]),select,textarea', function (e) {
        $("html").animate({ scrollTop: $(e.target).offset().top - (headerHeight + 30) }, 500);
    });

您还可以使用这些功能

scrollIntoView scrollIntoViewIfNeeded