ios设备微信内调出键盘页面上滚,关闭键盘页面不回位的兼容处理
const resetInput = {}
resetInput.install = (Vue) => {
Vue.directive('resetInput', {
bind(el) {
if (!isIOS()) return
el.__reset_input_handler = () => {
setTimeout(() => {
let scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0;
window.scrollTo(0, Math.max(scrollHeight, 0));
}, 10)
}
if (el.getElementsByTagName('input')[0]) {
el.getElementsByTagName('input')[0].addEventListener('blur', el.__reset_input_handler)
}
if (el.getElementsByTagName('textarea')[0]) {
el.getElementsByTagName('textarea')[0].addEventListener('blur', el.__reset_input_handler)
}
if (el.getElementsByTagName('select')[0]) {
el.getElementsByTagName('select')[0].addEventListener('change', el.__reset_input_handler)
}
}
})
}
function isIOS() {
return /iPad|iPhone|iPod/.test(navigator.userAgent)
}
export default resetInput





网友评论