解决微信端苹果手机IOS版本12以上输入内容后,点击弹出弹出框之后,背景图底部留有空白,且不能点击保存按钮

前几天写了一个公众号的几个H5界面,写完在测试的时候,发现一个问题。页面存在好几个单选按钮,还有输入框,我自己的安卓手机正常测试走流程是没有任何问题的,但是一用苹果手机测试就出现了问题:苹果手机在选择单选按钮之后,输入框输入内容之后,再点击提交按钮,弹出弹出框,会发现背景图底部留有空白,且弹出框上面的保存按钮不能点击,没反应,但自己滑动一下背景图,弹出框的按钮就可以点击了,查了很多资料,找了一段代码,在苹果手机上测试可以(测试是在QQ上看的),后来发现东西放到公众号上后,在微信端打开还是不行,同样的问题,而且还跟IOS版本有关,12以上的还是不行,最后还是找到了解决的办法,兼容IOS所有的版本:

     document.body.addEventListener('focusout', () => {

    //软键盘收起的事件处理

    let ua = window.navigator.userAgent;

    let app = window.navigator.appVersion;

    //$alert('浏览器版本: ' + app + '\n' + '用户代理: ' + ua);

    if(!!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {

        //$alert('ios端');

var currentPosition, timer;

var speed = 1;

timer = setInterval(function() {

    currentPosition = document.documentElement.scrollTop || document.body.scrollTop;

    currentPosition -= speed;

    window.scrollTo(0, currentPosition); //页面向上滚动

    currentPosition += speed;

    window.scrollTo(0, currentPosition); //页面向下滚动

    clearInterval(timer);

}, 100);

    } else if(ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1) {

        //$alert('android端');

    }

})

完美解决以上问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 942评论 0 0
  • 100个常用的javascript函数 1、原生JavaScript实现字符串长度截取 复制代码代码如下: fun...
    老头子_d0ec阅读 377评论 0 0
  • 1.第一种方式:锚链接 优点:简单快速,没有兼容性问题 缺点: 视觉上不够直观,用户体验不太好 2.js的方式: ...
    love2013阅读 817评论 0 0
  • JavaScript经典代码总结 oncontextmenu="window.event.returnvalue=...
    嗝喯唲阅读 977评论 0 13
  • Mobile Web Favorites 参与贡献 移动前端开发收藏夹,欢迎使用Issues以及 Pull Req...
    柴东啊阅读 838评论 0 2