JavaScript使用focus()設(shè)置焦點(diǎn)失敗的解決方法
昨天修改機(jī)頂盒上面的EPG頁面,遇到一個(gè)小問題。用戶購買游戲時(shí)需要彈出購買確認(rèn)對話框,對話框的默認(rèn)焦點(diǎn)規(guī)定必須停留在“取消”按鍵上。很簡單的需求,使用JavaScript的focus()方法就可以實(shí)現(xiàn)了。簡單的代碼示例如下:
document.getElementById("cancel").focus()
但是苦逼的是,機(jī)頂盒真是一個(gè)大坑。由于要兼容所有現(xiàn)存的機(jī)頂盒型號(hào),需要對8款機(jī)頂盒進(jìn)行適配。然后就出現(xiàn)問題了!一款中興B600的機(jī)頂盒完全沒法將焦點(diǎn)設(shè)置到取消按鍵上。以下是我的解決思路:
首先確認(rèn)該機(jī)頂盒是否支持getElementById()方法以及是否成功獲得了ID為“cancel”的元素:測試方法很簡單,直接另寫了一個(gè) <p id="test">test</p> ,然后在同樣的地方獲取ID為“test”的元素,并進(jìn)行了簡單的操作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()); }
但是就是很奇怪!以上兩步的結(jié)果表明該機(jī)頂盒支持focus()和getElementById(),但是就是無法設(shè)置焦點(diǎn)到彈出的對話框中。
前前后后折騰了一個(gè)多小時(shí),最后大BOSS出現(xiàn)了,就簡單說了一句話就解決了這個(gè)問題!有可能要主動(dòng)調(diào)用flur()將原來的焦點(diǎn)取消掉!
document.getElementById("purchase").flur()
然后就解決了這個(gè)問題。不得不感概!在解決這個(gè)問題的過程中,自己的思路其實(shí)還是蠻正確的,但知識(shí)面顯然不夠。一般程序員和高級(jí)程序員的差距除了解決問題的思路方面,也有經(jīng)驗(yàn)和知識(shí)面的差距!
- javaScript讓文本框內(nèi)的最后一個(gè)文字的后面獲得焦點(diǎn)實(shí)現(xiàn)代碼
- javascript 設(shè)置文本框中焦點(diǎn)的位置
- javascript實(shí)現(xiàn)按回車鍵切換焦點(diǎn)
- JavaScript組件焦點(diǎn)與頁內(nèi)錨點(diǎn)間傳值的方法
- javascript新建標(biāo)簽,判斷鍵盤輸入,以及判斷焦點(diǎn)(示例代碼)
- JavaScript(js)設(shè)置默認(rèn)輸入焦點(diǎn)(focus)
- JavaScript 關(guān)于元素獲取焦點(diǎn)(隱藏元素與div)
- JavaScript實(shí)現(xiàn)文本框中默認(rèn)顯示背景圖片在獲得焦點(diǎn)后消失的方法
相關(guān)文章
鴻蒙JS實(shí)戰(zhàn)之計(jì)算器功能開發(fā)實(shí)例
這篇文章主要給大家介紹了關(guān)于鴻蒙Js實(shí)戰(zhàn)之計(jì)算器功能開發(fā)的相關(guān)資料,計(jì)算器是我們生活中經(jīng)常使用的應(yīng)用,此項(xiàng)目是基于Harmony實(shí)現(xiàn)的簡易計(jì)算器,需要的朋友可以參考下2024-02-02js實(shí)現(xiàn)選項(xiàng)卡內(nèi)容切換以及折疊和展開效果【推薦】
本文主要介紹了js實(shí)現(xiàn)選項(xiàng)卡內(nèi)容切換以及文字折疊和展開效果的示例代碼。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01Js 獲取當(dāng)前函數(shù)參數(shù)對象的實(shí)現(xiàn)代碼
這篇文章主要介紹了Js 獲取當(dāng)前函數(shù)參數(shù)對象的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-06-06兩種JS實(shí)現(xiàn)屏蔽鼠標(biāo)右鍵的方法
這篇文章主要介紹了兩種JS實(shí)現(xiàn)屏蔽鼠標(biāo)右鍵的方法,瀏覽者在訪問你網(wǎng)頁的時(shí)候就不能點(diǎn)擊右鍵,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08淺談js中用$(#ID)來作為選擇器的問題(id重復(fù)的時(shí)候)
下面小編就為大家?guī)硪黄獪\談js中用$(#ID)來作為選擇器的問題(id重復(fù)的時(shí)候)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02