代码描述:js火狐浏览器下focus() 无法获取焦点。js火狐浏览器下focus()无法获取焦点源码实例
大家知道使用focus()函数可以让一个元素获取焦点,比较常见的一个用法就是在表单验证的时候,如果当前表单没有通过检验,那么就让此表单元素获取焦点,虽然这是一个让人感觉稀松稀松平常的代码,但是在火狐浏览器下可能会出现意外,先看一段代码实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="https://www.51qianduan.com/" /> <title>51前端</title> <script type="text/javascript"> window.onload=function(){ var otxt=document.getElementById("txt"); otxt.focus(); otxt.onblur=function(){ if(otxt.value==""){ alert("abc"); otxt.focus(); } } } </script> </head> <body> <input type="text" id="txt"/> </body> </html>
在上面的代码中,如果文本框内容为空就失去焦点,那么就弹出一个提示框,然后点击确定之后,又会获取焦点,这在IE和谷歌浏览器中没有任何问题,但是在火狐浏览器中,第一次加载的时候获取焦点没问题,但弹出警告框之后无法获取焦点,解决方案如下:
<script> alert("abc"); otxt.focus(); setTimeout(function(){otxt.focus()},0); </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能