您的位置:首页 > Web前端 > JavaScript

文本框用js获得焦点问题

2014-12-06 16:38 274 查看
在测试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来测试失去焦点事件和获取焦点事件也可能会产证这种问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: