火狐下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 相关文章推荐
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
Dec 17 Javascript
浅谈javascript中基本包装类型
Jun 03 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
jquery二级目录选中当前页的css样式
Dec 08 Javascript
JavaScrip关于创建常量的知识点
Dec 07 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
Dec 26 Javascript
react-router browserHistory刷新页面404问题解决方法
Dec 29 Javascript
微信小程序实现的一键拨号功能示例
Apr 24 Javascript
JavaScript实现网页留言板功能
Nov 23 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
Dec 17 Vue.js
两种方法实现在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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
解析PHP中如何将数组变量写入文件
2013/06/06 PHP
php中require和require_once的区别说明
2014/02/27 PHP
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
PHP反射API示例分享
2016/10/08 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
js格式化时间小结
2014/11/03 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python修改Excel数据的实例代码
2013/11/01 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
python多进程并发demo实例解析
2019/12/13 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
纪律教育学习月活动总结
2014/08/27 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS