国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript使用focus()設置焦點失敗的解決方法

2024-05-06 16:08:23
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript使用focus()設置焦點失敗的一個解決方法 ,需要的朋友可以參考下
 
 

昨天修改機頂盒上面的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(),但是就是無法設置焦點到彈出的對話框中。

前前后后折騰了一個多小時,最后大BOSS出現了,就簡單說了一句話就解決了這個問題!有可能要主動調用flur()將原來的焦點取消掉!

document.getElementById("purchase").flur()

然后就解決了這個問題。不得不感概!在解決這個問題的過程中,自己的思路其實還是蠻正確的,但知識面顯然不夠。一般程序員和高級程序員的差距除了解決問題的思路方面,也有經驗和知識面的差距!

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 景泰县| 蒙城县| 随州市| 嘉义县| 宜兰县| 黄平县| 瑞安市| 乌拉特后旗| 石狮市| 彭泽县| 肇州县| 酒泉市| 璧山县| 哈巴河县| 蕲春县| 纳雍县| 胶南市| 清水河县| 成安县| 绍兴县| 禹城市| 霸州市| 上思县| 甘孜县| 城固县| 丹凤县| 华坪县| 隆德县| 清涧县| 常山县| 清镇市| 东源县| 柳州市| 根河市| 茶陵县| 宁远县| 安龙县| 佛冈县| 济源市| 蓬溪县| 康马县|