最近在使用vue开发安卓前端,遇到一个比较棘手的问题。如何在文本框获焦点阻止软键盘弹出?
因为我们没有使用安卓源码开发,所以有很多问题无法使用安卓源码解决,但是问题还是需要解决,只好问度娘了,加上项目进度,必须快速解决,所在也是忧心如焚,后面终于找到了一个方法可以将这个问题解决。其实方法很简单,具体使用的是“Readonly”属性解决这个问题。 因为readonly属性有个特点,就是可以阻止事件扩散,但是这样也无法获取焦点了?所以后面我就加了一个延迟函数–“setTimeOut”。延迟函数里面去掉‘readonly’属性,即可。
核心代码
input.setAttribute("readOnly", true) //设置readOnly属性
setTimeOut(function(){
input.removeAttribute("readOnly")//延迟移除readonly属性
},200)