火狐下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 相关文章推荐
JavaScript toFixed() 方法
Apr 15 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
Dec 10 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
jQuery中height()方法用法实例
Dec 24 Javascript
JavaScript汉诺塔问题解决方法
Apr 21 Javascript
深入学习JavaScript中的原型prototype
Aug 13 Javascript
深入分析Javascript事件代理
Jan 30 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
May 17 Javascript
prototype与__proto__区别详细介绍
Jan 09 Javascript
JS判断数组那点事
Oct 10 Javascript
基于vue cli重构多页面脚手架过程详解
Jan 23 Javascript
用JavaScript实现贪吃蛇游戏
Oct 23 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
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
js单例模式详解实例
2013/11/21 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
浅析javascript的return语句
2015/12/15 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
pycham查看程序执行的时间方法
2018/11/29 Python
如何使用repr调试python程序
2020/02/28 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
Python截图并保存的具体实例
2021/01/14 Python
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
寄语十八大感言
2014/02/07 职场文书
土木工程专业推荐信
2014/02/19 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
2014年远程教育工作总结
2014/12/09 职场文书