zoukankan      html  css  js  c++  java
  • 解决移动端软键盘弹出,布局错位mixin

    // assets/js/mixin.js
    
    let mixin = {
        mounted() {
          var m = navigator.userAgent
          //解决iPhone6s plus 失去焦点以后,先隐藏软键盘,再弹出  (主要原因是setTimeout引起的,没有setTimeout就不会出现这个bug)
          if(m.indexOf('Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148')!=-1){
            let $inputs = Array.from(document.getElementsByTagName('input'))
          let body = document.body;
          $inputs.forEach(item => { 
            item.onblur = function () { // onblur是核心方法
              document.body.scrollTop = document.documentElement.scrollTop = 0
            }
          })
          }else{
                setTimeout(() => {
                  var isIos = !!m.match(/(i[^;]+;( U;)? CPU.+Mac OS X/)
                  // 解决页面在苹果手机上 输入法点完成后 页面没有复原 导致页面错乱
                  if (isIos) {
                    let $inputs = Array.from(document.getElementsByTagName('input'))
                    let body = document.body;
                    $inputs.forEach(item => { // 定时器是处理多个input间快速切换闪屏问题
                      item.onblur = function () { // onblur是核心方法
                        clearTimeout(body.timer);
                        body.timer = setTimeout(() => {
                          document.body.scrollTop = document.documentElement.scrollTop = 0
                        }, 150)
                      }
                      item.onfocus = function () {
                        clearTimeout(body.timer)
                      }
                    })
                  }
                },200)
          }
        },
    }
    export default mixin

    全局引用:

    // main.js
    import mixin from './assets/js/mixin'
    
    new Vue({
      router,
      store,
      axios,
      mixins: [mixin],
      render: h => h(App)
    }).$mount('#app')
  • 相关阅读:
    手机摇一摇代码
    ftp
    .net 设置导航的当前状态
    app 尺寸
    繁简体 互转 js
    静态页分页效果
    判断浏览器
    python列表,元组,字典和字符串之间的相互转换
    uliweb框架数据库操作
    uliweb的模版
  • 原文地址:https://www.cnblogs.com/rachelch/p/13744393.html
Copyright © 2011-2022 走看看