大家知道使用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>

代码描述:js火狐浏览器下focus() 无法获取焦点。js火狐浏览器下focus()无法获取焦点源码实例



204 272



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到