文本框用js获得焦点问题

在测试js语句的时候经常会在浏览器的控制台里(F12)跑,今天在控制台里测试文本框的获取焦点的方法就遇到了点问题。

文本框用的就是最简单的input type="text",不管是这个input的dom元素还是它封装的jquery元素,都可以通过focus()方法使得他获得输入焦点。但是放在控制台里执行就是有问题,用的语句是document.getElementById('t1').focus()和$('#t1').focus(),t1是其id。浏览器用的是UC(webkit内核)和chrome,后来用IE(IE11)试了下却是正常的。

琢磨了一会终于发现问题出在浏览器主窗体和控制台的焦点。UC/chrome的控制台执行js,已经使得文本框获得了焦点,但是执行完语句后控制台又夺回了焦点,等待后续语句的输入。而IE控制台执行完js,发现控制台和文本框都有竖线在闪动,这时候继续输入字符,发现会显示在文本框里,说明实际的焦点是在文本框上的。

类似的情况还有用alert来测试失去焦点事件和获取焦点事件也可能会产证这种问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值