这是今天遇到的一个问题;input表单手机号码验证不足11位弹出窗体并且input表单重新获得焦点。

但是mui.focus(document.getElementById('phonenum'));

document.getElementById('phonenum').focus();

这两行代码写上都没有效果,可以弹出键盘但是不能获得焦点。

 

 

<input type="text" name="phonenum" placeholder="请输入手机号 " style="border-radius:30px; height:50px; margin-top:50px;" >

 

$id('verify').addEventListener('tap',function(){

var mobile=$id('phonenum').value;

if(mobile.length!=11) 

mui.alert('您输入的位数不正确!'); 
mui.focus(document.getElementById('phonenum'));


return false; 
}


})

原因就是

在tap事件里边preventDefault后,会阻止当前element获得焦点。

所以在前面插入一行 ok问题解决了。

event.detail.gesture.preventDefault();//阻止默认事件
mui.focus(document.getElementById('phonenum'));

 

相关文章:

  • 2022-12-23
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-09-17
  • 2022-02-23
猜你喜欢
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2021-12-18
相关资源
相似解决方案