JavaScript使用focus()设置焦点失败的一个解决方法
来源:互联网 发布:2016域名投资趋势 编辑:程序博客网 时间:2024/06/05 04:12
昨天修改机顶盒上面的EPG页面,遇到一个小问题。用户购买游戏时需要弹出购买确认对话框,对话框的默认焦点规定必须停留在“取消”按键上。很简单的需求,使用JavaScript的focus()方法就可以实现了。简单的代码示例如下:
document.getElementById("cancel").focus()但是苦逼的是,机顶盒真是一个大坑。由于要兼容所有现存的机顶盒型号,需要对8款机顶盒进行适配。然后就出现问题了!一款中兴B600的机顶盒完全没法将焦点设置到取消按键上。以下是我的解决思路:
- 首先确认该机顶盒是否支持getElementById()方法以及是否成功获得了ID为“cancel”的元素:测试方法很简单,直接另写了一个 <p id="test">test</p> ,然后在同样的地方获取ID为“test”的元素,并进行了简单的操作document.getElementById("test").innerHTML="Hello"
- 最后使用了“try...catch(e)...”捕捉“focus()”失败的原因
try(){ <span style="white-space:pre"></span>document.getElementById("cancel").focus()}catch(e){<span style="white-space:pre"></span>alert(e.name + ": " + e.what());}
但是就是很奇怪!以上两步的结果表明该机顶盒支持focus()和getElementById(),但是就是无法设置焦点到弹出的对话框中。
document.getElementById("purchase").blur()然后就解决了这个问题。不得不感概!在解决这个问题的过程中,自己的思路其实还是蛮正确的,但知识面显然不够。一般程序员和高级程序员的差距除了解决问题的思路方面,也有经验和知识面的差距!
0 0
- JavaScript使用focus()设置焦点失败的一个解决方法
- JavaScript(js)设置默认输入焦点(focus)
- Firefox中元素获取焦点函数focus不起作用的解决方法
- jQuery dialog设置focus焦点
- C#简单的委托 处理设置不了焦点 txt.focus()
- 设置DataGridView的某行为焦点(类似Focus属性)
- jquery的focus()获取输入框焦点使用问题
- focus,关注你的焦点
- Android的焦点(Focus)问题
- Android的焦点(Focus)问题
- Android的焦点(Focus)问题
- javascript window对象 focus获得焦点
- 用 focus 获取焦点并设置样式
- jQuery的input失去焦点之后,不能使用focus()重新得到焦点
- 调用focus方法使输入框获得焦点,不弹出软键盘的解决方法
- 调用focus方法使输入框获得焦点,不弹出软键盘的解决方法
- 使用JS取得焦点(focus)元素
- 元素获得焦点focus()的问题
- HTTP Status 500 - java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
- debug,release 和 distribution 的区别
- two sum
- lua--从小白开始(3)
- 嵌入式实时抢占操作系统PT(preemption thread)RTOS——任务状态和任务控制块(2)
- JavaScript使用focus()设置焦点失败的一个解决方法
- 贡献式编程(二)
- 中水处理设备:小区中水回用设备特性剖析
- java正则表达式
- jQuery循环滚动展示代码[转]
- 【转】关于Linux内核模块的编写
- 配置hibernate根据实体类自动建表功能
- 修改Windows 7/8/8.1右键“发送到”菜单项目
- 引言