其实弹框之所以影响页面布局,我碰到的一般都是因为页面时position:fixed时,键盘一弹出,布局就乱了,我的解决方案是,首先就是把fixed尽可能的改成其他的,接着监听窗口大小变化事件,然后处理ios兼容问题

代码如下:

//监听窗口大小变化事件
window.addEventListener('resize', function () {if(document.activeElement.tagName === 'INPUT'){document.activeElement.scrollIntoView({behavior: "smooth"})}
})

//但是仅靠这段代码,安卓的还好,但是ios的不可以,在键盘弹出时,页面向上移,键盘收起后,页面没有回来,?

然后又寻找解决方案,代码如下,先判断机型,如果是ios就监听一下输入框的失焦事件,代码如下:

var u = navigator.userAgent, app = navigator.appVersion
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
$(document).ready(function(){$("input").blur(function(){if (isIOS) {blurAdjust()// alert("1231321233")}});
});
// 解决苹果不回弹页面
function blurAdjust(e){setTimeout(()=>{// alert("1231321233")if(document.activeElement.tagName == 'INPUT' || document.activeElement.tagName == 'TEXTAREA'){return}let result = 'pc';if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOSresult = 'ios'}else if(/(Android)/i.test(navigator.userAgent)) {  //判断Androidresult = 'android'}if( result = 'ios' ){document.activeElement.scrollIntoViewIfNeeded(true);}},100)
}

以上解决了我的输入框弹出问题。如果您有更好的方法,跪求分享~

h5页面键盘弹出影响页面布局(兼容)相关推荐

  1. 移动端网站,键盘弹出对页面的影响

    在移动端网站中,ios与安卓键盘弹出时对页面有不同的处理方式. ios,键盘弹出但整体页面高度不变. 安卓,页面高度=屏幕高度-键盘高度 这样对页面样式就会造成不同的影响. 当有表单弹窗,且弹窗高度在 ...

  2. js防止安卓手机软键盘弹出挤压页面导致变形的方法

    h5防止安卓手机软键盘弹出挤压页面导致变形的方法 输入框定位在底部,手机端打开,输入框聚焦后软键盘打开为什么会瞬间自动关闭呢? 先看看问题: 1.原来是这样的: 2.在苹果手机里面是正常的: 3.到了 ...

  3. (小技巧)h5 手机键盘弹出收起的处理

    本文转载于思否社区专栏:随笔 作者:hzzly 前言:前段时间也是应项目的需求开始了 h5 移动端的折腾之旅,在目前中台的基础上扩展了两个 ToC 移动端项目,下面就是在 h5 移动端表单页面键盘弹出 ...

  4. Android 软键盘弹出时把布局顶上去,控件乱套解决方法

    Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...

  5. input获取焦点软键盘弹出影响定位

    解决移动端底部fixed和input获取焦点软键盘弹出影响定位的问题 $(document).ready(function() {                                 va ...

  6. Android中软键盘弹出时关于布局的问题

    当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...

  7. Android中软键盘弹出可能遮挡布局

    当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...

  8. H5软键盘弹出挡住输入框解决

    winResize() function winResize() {// var oHeight=$(window).height();$(window).resize(function () { / ...

  9. 仿QQ空间评论随软键盘弹出和收回一个输入布局

    先来看一下效果图:                                点击图一底部的回复后,出现图二效果.软键盘弹出,上面显示出一个布局,包括输入框和功能按钮等. 先说下我的心路历程吧,原 ...

最新文章

  1. parted命令分区
  2. jQuery对select操作(2)
  3. Tutorial 2: Requests and Responses
  4. 使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决
  5. aurora 初学页面元素
  6. 每日一题 2020.05.12
  7. 杭电1879继续畅通工程
  8. FreeRTOS源码分析与应用开发05:信号量
  9. optimizer_mode优化器模式
  10. 哪里购买域名_注册网站域名需要多少钱?如何注册网站域名?
  11. 力扣-1290 二进制链表转整数
  12. 多尺度小波分解Matlab/Python实现与原理分析
  13. xmake v2.5.9 发布,改进 C++20 模块,并支持 Nim, Keil MDK 和 Unity Build
  14. 纯干货!一款APP从设计稿到切图过程全方位揭秘(转)
  15. 一起重新开始学大数据-java篇-DAY13-ArrayList集合和装拆箱
  16. 2021年 遥感图像目标检测SOTA模型及排行榜
  17. Kaiming He 何恺明
  18. oracle dul 12.2.0.2.4 测试
  19. 关于ruoyi验证码无法显示的问题
  20. 网络封包截取工具Charles

热门文章

  1. 视口锁定解锁lisp_求一个cad 图层锁定和解锁的lisp命令?
  2. ubuntu上安装spark详细步骤
  3. SIP协议之呼叫流程
  4. EXCEL中 xls 与xlsx 的区别
  5. 互联网的女性主义思维
  6. 利用mysql的几种提权方式
  7. Arduino Mind+编程 轮询读取多个软串口数据的方法讨论
  8. maven编译报错Blocked mirror for repositories解决
  9. 基于PHP的OA办公系统项目
  10. jQurey入门以及选择器