背景:iOS移动端在进行input框获取焦点之后,再点击其他弹框,软键盘无法隐藏且未失去焦点。Android正常。
思路:
本来想要写一个全局的监听点击事件,但是后来获取不到input框的DOM元素,所以以失败告终;
后来又想到我可以在弹框显示的时候将input框失去焦点,这一次终于生效了!
直接上代码!
//判断是否是iOS端,在弹框显示的时候做处理
const userAgent = navigator.userAgent;
const isIOS = WXEnvironment.osName.toLowerCase() == 'ios' || !!userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
if (isIOS) {
const inputDom = document.querySelectorAll('input');
for(let i; i < inputDom.length; i++) {
inputDom[i].blur()
}
}