别来无恙`` 2018-04-08 03:55 采纳率: 100%
浏览 2650
已采纳

移动端页面输入法挡住input怎么解决?

提前说一下这个不是app开发,场景是在浏览器中
图片说明

  • 写回答

7条回答 默认 最新

  • 无明之徒 2018-04-08 11:07
    关注

    如何解决,请看一下代码:
    <!DOCTYPE html>

    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
        <title>移动端输入法挡住输入框</title>
        <style>
            input {
                width: 100%;
                line-height: 1.5rem;
                border: 1px solid red;
            }
    
            .block-fill {
                height: 500px;
            }
        </style>
    </head>
    
    <body>
    
        <div id="main">
            <!--占位div-->
            <div class="block-fill"></div>
            <!--需要聚焦-->
            <input id="input" type="text"></input>
        </div>
    
    </body>
    <script>
        //获取页面高度
        var clientHeight = document.body.clientHeight;
        //设置监听聚焦事件
        document.body.addEventListener("focus", function(e) {
            var focusElem = document.getElementById('input')
        }, true);
        //设置监听窗口变化时间
        window.addEventListener("resize", function() {
            if(focusElem && document.body.clientHeight < clientHeight) {
                //使用scrollIntoView方法来控制输入框
                focusElem.scrollIntoView(false);
            }
        });
    </script>
    


    通过js就很轻松的解决这个问题。(我开始以为需要app那边去设置)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记