开发者社区> 问答> 正文

钉钉h5页面软键盘弹出页面高度发生变化导致输入框失焦怎么处理?

钉钉h5页面软键盘弹出页面高度发生变化导致输入框失焦怎么处理?

展开
收起
真的很搞笑 2024-07-03 09:58:16 7 0
2 条回答
写回答
取消 提交回答
  • 使用JS就可以解决这个问题了

    // 监听软键盘弹出事件
    window.addEventListener('resize', function(event) {
        var activeElement = document.activeElement;
        if (activeElement) {
            // 检查是否需要重新聚焦
            var needRefocus = checkIfNeedRefocus();
            if (needRefocus) {
                activeElement.focus();
            }
        }
    });
    
    function checkIfNeedRefocus() {
        var needRefocus = false;
        // 这里需要根据实际情况判断页面高度是否有变化
        // 如果页面高度变小且之前的焦点位于可视区域内,则需要重新聚焦
        if (window.innerHeight < lastWindowHeight) {
            var rect = activeElement.getBoundingClientRect();
            if (rect.top >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)) {
                needRefocus = true;
            }
        }
        return needRefocus;
    }
    
    2024-07-03 15:02:19
    赞同 展开评论 打赏
  • js问题了,百度就好 ,此回答整理自钉群“钉钉开发者社区(互助群)”

    2024-07-03 13:49:28
    赞同 3 展开评论 打赏
问答分类:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载