移动端兼容处理

首先上一段判断android和ios的js代码

  function navigator(){
        var u = navigator.userAgent;
        var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if(isAndroid){
            //安卓
        };
        if(isiOS){
            //ios
        };
    };
navigator();

IOS常见问题:

1.搜索页的搜索按钮不显示,加form解决。

<form action="">
          <input type="search" name="" id="" value="" />
 </form>

2.去除input阴影和黑边,以及type=“search”的小叉叉。

css:
//去除阴影和黑底
input:-webkit-appearance:none;(全局input都会去除阴影和黑底,可以针对某个input就行了。)


//去除小叉叉
input[type="search"]::-webkit-search-cancel-button{

     -webkit-appearance:none;
}

ios:监听键盘弹起和收起:

$(document).on("focusin",function(){

            //键盘弹出
})


$(document).on("focusout",function(){

            //键盘收起
})

ios:当头部输入框聚焦时,想要弹起底部固定定位的元素,放在键盘上方,比如footer,或者上传图片的按钮什么的,但是发现弹不起来,没关系我有解决方法。

function navigator(){
        var u = navigator.userAgent;
        var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if(isAndroid){
            
        };
        if(isiOS){
            $(document).on("focusin",function(){
                                //键盘弹起时,让滚动条滚动到底部,
                $(window).scrollTop($("body").height());
                                 //设置定时器
                setTimeout(function(){
                                        //获取文档高度
                    var clientHeight= document.body.clientHeight;
                                         //获取滚动高度--也就是键盘高度
                    var scrollTop = document.body.scrollTop;
                    //让你想要的底部元素的bottom:键盘高度。
                    $(".bottom").css("bottom",scrollTop+"px");
                    //最后再设置一个定时器让滚动条回到顶部。
                                          setTimeout(function(){
                                               $(window).scrollTop(0);
                                          },300);
                },300);
            });
            $(document).on('focusout', function () {
                 //软键盘收起的事件处理
                                 //让底部元素回到底部。
                $(".bottom").css("bottom","0");
            });
        };
    };
navigator();                                                                                                                   

android:

1.键盘收起事件:

function navigator(){
        var u = navigator.userAgent;
        var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if(isAndroid){
              var wHeight = $(window).innerHeight();   //获取初始可视       窗口高度
                      $(window).resize(function() {         //监测窗口大小的变化事件
                         var hh = $(window).innerHeight();     //当前可视窗口高度
                         var viewTop = $(window).scrollTop();   //可视窗口高度顶部距离网页顶部的距离
                         if(wHeight > hh){          
                                //可以作为虚拟键盘弹出事件
                     
                          }else{         
                               //可以作为虚拟键盘关闭事件
                                 
                          };
                              wHeight = hh;
                        });
        };
        if(isiOS){
        
            };
};
navigator();                                         

 

转载于:https://www.cnblogs.com/MJ-MY/p/8537092.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值