import { throttle } from "@/utils/optimize";
import { isNative } from "@/utils/device";

// 全局导入
export default {
  data() {
    return {
      fnBlur: null,
      listener: isNative() ? "touchmove" : "scroll"
    };
  },
  methods: {
    mixBlur() {
      // 获取页面所有输入框元素, 使用 document.activeElement 更优方案
      const elem = document.activeElement;
      if (!elem.placeholder) return;
      elem.blur();
    },
    // 移动端能聚焦, 但只有通过绑定在事件上的函数触发，才能唤起键盘
    mixFocus() {
      document.getElementsByTagName("input")[0].focus();
    }
  },
  // 页面滚动隐藏键盘
  created() {
    this.fnBlur = throttle(() => this.mixBlur(), 750);
  },
  mounted() {
    window.addEventListener(this.listener, this.fnBlur);
  },
  destroyed() {
    window.removeEventListener(this.listener, this.fnBlur);
  }
};
