火狐下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 相关文章推荐
HTML TO JavaScript 转换
Jun 26 Javascript
JsEasy简介 JsEasy是什么?与下载
Mar 07 Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
Mar 10 Javascript
Javascript操作URL函数修改版
Nov 07 Javascript
jQuery验证元素是否为空的两种常用方法
Mar 17 Javascript
javascript中substring()、substr()、slice()的区别
Aug 30 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
Sep 26 Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 Javascript
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
微信小程序实现锚点功能
Nov 20 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
PHP中文汉字验证码
2007/04/08 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
PHP静态成员变量
2017/02/14 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
JavaScript 动态创建VML的方法
2009/10/14 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
浅析return false的正确使用
2013/11/04 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
理解javascript async的用法
2017/08/22 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
介绍一下你对SOA的认识
2016/04/24 面试题
买房协议书
2014/04/11 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
交通事故协议书范文
2014/10/23 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
golang 在windows中设置环境变量的操作
2021/04/29 Golang
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js