Yinde's Blog

Talk is cheap. Show me the code.

目录
修复 IOS Input 输入框失去焦点无法还原页面滚动
/      

修复 IOS Input 输入框失去焦点无法还原页面滚动

推荐注册到 Vue 全局 Mixin 里 并在 updated 生命周期中重新运行

const fixInputPaddingMixin = {
  mounted() {
    this._fixInput();
  },
  updated() {
    this._fixInput();
  },
  methods: {
    _fixInput() {
      let inputs = document.querySelectorAll('input');
      if (inputs.length >= 1) {
        for (let item of inputs) {
          item.addEventListener(
            'focus',
            () => {
              item.scrollTop = document.body.scrollTop;
            },
            false,
          );
          item.addEventListener(
            'blur',
            () => {
              document.body.scrollTop = item.scrollTop || 0;
            },
            false,
          );
        }
      }
    },
  },
};

标题:修复 IOS Input 输入框失去焦点无法还原页面滚动
作者:zhangzhengyi12
地址:https://blog.yinode.tech/articles/2019/06/13/1567739688277.html

评论