火狐下input焦点无法重复获取问题的解决方法


Posted in Javascript onJune 16, 2014

今天遇到了一个很棘手的问题,就是在做一些输入框的验证的时候,我这边项目的业务逻辑就是当我选中某个select的某个特定option的时候,需要显示出一个input输入框让用户输入东西,但是如果用户啥也不做,就必须弹出警告框让用户输入,等其输入后,我这边再将input隐藏掉。

因此,便产生了如下问题,input输入框显示的时候,需要自动获取焦点,此时,我是用的

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

恩,尝试了一下,效果很好,不禁心中大喜,搞定!

但是天算不如人算,在我进行用火狐测试的时候,完蛋了,第一次刚将input显示出来的时候是好用的,但是随后我关闭alert提醒框的时候,input无法获取焦点了,?澹

问题棘手,又不明其所以,so,小小的查了一下网上大神们的解答方式,发现了如下一招,试验了一下,果然很好用!

在alert之后,将原来的

document.getElementByIdx('id').focus();

换成
window.setTimeout(function () { document.getElementById('id').focus();}, 0);

爽,问题解决!

setTimeout是指在载入后延迟指定时间后执行前面的表达式,当然在这里是延迟0ms之后执行function。

当我只是解决了这个问题,仍然不知道为什么在火狐下这样就能解决,如有哪位大神晓得,给下留言,让晚生学习一下,不胜感激!

Javascript 相关文章推荐
jQuery 注意事项 与原因分析
Apr 24 Javascript
instanceof和typeof运算符的区别详解
Jan 06 Javascript
JS数组(Array)处理函数整理
Dec 07 Javascript
jquery中EasyUI实现异步树
Mar 01 Javascript
关于JSON与JSONP简单总结
Aug 16 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
Dec 25 Javascript
js图片延迟加载(Lazyload)三种实现方式
Mar 01 Javascript
AngularJS之自定义服务详解(factory、service、provider)
Apr 14 Javascript
extjs简介_动力节点Java学院整理
Jul 17 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 Javascript
js实现鼠标单击Tab表单切换效果
May 16 Javascript
vue fetch中的.then()的正确使用方法
Apr 17 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
Jun 16 #Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
Jun 16 #Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 #Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 #Javascript
解决checkbox的attr(checked)一直为undefined问题
Jun 16 #Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 #Javascript
javascript操纵OGNL标签示例代码
Jun 16 #Javascript
You might like
一个SQL管理员的web接口
2006/10/09 PHP
php面向对象的方法重载两种版本比较
2008/09/08 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
利用jQuery实现可以编辑的表格
2014/05/26 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
机电专业个人求职信范文
2013/12/30 职场文书
中文专业毕业生自荐书范文
2014/01/04 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
老公给老婆的检讨书(精华篇)
2014/10/18 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
经理岗位职责
2015/02/02 职场文书
开平碉楼导游词
2015/02/06 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
在python中实现导入一个需要传参的模块
2021/05/12 Python
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android