五叶神
五叶神
  • 发布:2017-09-01 11:50
  • 更新:2017-09-01 11:50
  • 阅读:3952

自动收起键盘、防止输入内容后进行其他操作又弹出键盘

分类:MUI
//自动收起键盘,条件判断收起  
inputEl.addEventListener('keyup', function() {  
    if(this.value.length>=11){   //输入11位手机号自动收起键盘  
        this.blur();  
    }  
});

经常遇到输入完收起键盘再点提交,键盘又弹出来了,那是因为上次操作的表单元素没有失去焦点

var focus=document.querySelector(':focus');  
focus&&focus.blur();  

//或  
document.activeElement.blur();
2 关注 分享
Trust 雪之梦技术驿站

要回复文章请先登录注册

五叶神

五叶神 (作者)

回复 回梦無痕 :
嗯,简洁得多
2017-09-01 16:10
回梦無痕

回梦無痕

回复 五叶神 :
activeElement 会返回文档中当前获得焦点的元素
文档刚刚加载完成的时候,activeelement中保存的是document.body元素的引用。
文档加载期间,activeelement的值为null
文档加载完之后,有元素获得了焦点,activeelement为获得焦点的元素
2017-09-01 16:05
五叶神

五叶神 (作者)

回复 回梦無痕 :
activeElement获取到的不只是表单元素,body、a所有元素都会获取到
2017-09-01 16:00
回梦無痕

回梦無痕

document.activeElement.blur();//把键盘焦点从当前页面中获得焦点的元素上移走
2017-09-01 15:55