出行365官方电话-365bet日博网址-beat365网合法吗

解决ios中input获取焦点,弹出输入法之后,input被遮挡的问题

解决ios中input获取焦点,弹出输入法之后,input被遮挡的问题

在ios中会出现这样的问题,当然手机端不会,在iPad端就会有这样的情况,开发中会遇到这样的问题,输入框在获取焦点后,键盘弹出会遮挡输入框,怎么解决问题呢?

1、iPad键盘是可以启用悬浮的,这样随便你怎么操作也不会出现遮挡输入框的问题;

2、可以采用全局获取输入框,对数据框获取焦点进行监听,获取焦点后可以将输入框滚动到可视区域,可以使用scrollIntoView方法,方法使用可参照以下链接文档:https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView

解决方案如下:

// 获取焦点方法

function handleFocus(ev) {

if (ev.target.tagName === 'INPUT') {

document.body.style.paddingBottom = '40vh'

setTimeout(() => {

ev.target.scrollIntoView({ behavior: 'smooth', block: 'nearest' })

}, 0)

}

}

// 失去焦点方法

function handleBlur() {

setTimeout(() => {

if (document.activeElement.tagName !== 'INPUT') {

document.body.style.paddingBottom = '0'

}

})

}

// 全局监听

document.documentElement.addEventListener('focus', handleFocus, true)

document.documentElement.addEventListener('blur', handleBlur, true)

onUnmounted(() => {

document.documentElement.removeEventListener('focus', handleFocus, true)

document.documentElement.removeEventListener('blur', handleBlur, true)

})

// 滚动页面将所以输入框失去焦点

document.body.addEventListener('touchmove', () => {

document.activeElement.blur()

handleBlur()

})

相关推荐
广州市五大郊区离市区到底有多远?
出行365官方电话

广州市五大郊区离市区到底有多远?

📅 10-07 🔥 649
建军大业什么时候上映
365bet日博网址

建军大业什么时候上映

📅 08-26 🔥 971
如何串联两个路由器(建议用第二种方法)
beat365网合法吗

如何串联两个路由器(建议用第二种方法)

📅 07-24 🔥 480
为什么叫尜尜?
365bet日博网址

为什么叫尜尜?

📅 08-06 🔥 187
黄健翔登《芭莎男士》 “黄”式预测爆料世界杯
出行365官方电话

黄健翔登《芭莎男士》 “黄”式预测爆料世界杯

📅 07-06 🔥 787