火狐下input焦點(diǎn)無法重復(fù)獲取問題的解決方法
更新時(shí)間:2014年06月16日 16:57:02 投稿:whsnow
input輸入框顯示的時(shí)候,需要自動獲取焦點(diǎn),用focus可以輕松搞定,但在火狐下input無法獲取焦點(diǎn),下面與大家分享下不錯的解決方法
今天遇到了一個(gè)很棘手的問題,就是在做一些輸入框的驗(yàn)證的時(shí)候,我這邊項(xiàng)目的業(yè)務(wù)邏輯就是當(dāng)我選中某個(gè)select的某個(gè)特定option的時(shí)候,需要顯示出一個(gè)input輸入框讓用戶輸入東西,但是如果用戶啥也不做,就必須彈出警告框讓用戶輸入,等其輸入后,我這邊再將input隱藏掉。
因此,便產(chǎn)生了如下問題,input輸入框顯示的時(shí)候,需要自動獲取焦點(diǎn),此時(shí),我是用的
document.getElementById('id').focus();
恩,嘗試了一下,效果很好,不禁心中大喜,搞定!
但是天算不如人算,在我進(jìn)行用火狐測試的時(shí)候,完蛋了,第一次剛將input顯示出來的時(shí)候是好用的,但是隨后我關(guān)閉alert提醒框的時(shí)候,input無法獲取焦點(diǎn)了,囧!
問題棘手,又不明其所以,so,小小的查了一下網(wǎng)上大神們的解答方式,發(fā)現(xiàn)了如下一招,試驗(yàn)了一下,果然很好用!
在alert之后,將原來的
document.getElementByIdx('id').focus();
換成
window.setTimeout(function () { document.getElementById('id').focus();}, 0);
爽,問題解決!
setTimeout是指在載入后延遲指定時(shí)間后執(zhí)行前面的表達(dá)式,當(dāng)然在這里是延遲0ms之后執(zhí)行function。
當(dāng)我只是解決了這個(gè)問題,仍然不知道為什么在火狐下這樣就能解決,如有哪位大神曉得,給下留言,讓晚生學(xué)習(xí)一下,不勝感激!
因此,便產(chǎn)生了如下問題,input輸入框顯示的時(shí)候,需要自動獲取焦點(diǎn),此時(shí),我是用的
復(fù)制代碼 代碼如下:
document.getElementById('id').focus();
恩,嘗試了一下,效果很好,不禁心中大喜,搞定!
但是天算不如人算,在我進(jìn)行用火狐測試的時(shí)候,完蛋了,第一次剛將input顯示出來的時(shí)候是好用的,但是隨后我關(guān)閉alert提醒框的時(shí)候,input無法獲取焦點(diǎn)了,囧!
問題棘手,又不明其所以,so,小小的查了一下網(wǎng)上大神們的解答方式,發(fā)現(xiàn)了如下一招,試驗(yàn)了一下,果然很好用!
在alert之后,將原來的
復(fù)制代碼 代碼如下:
document.getElementByIdx('id').focus();
換成
復(fù)制代碼 代碼如下:
window.setTimeout(function () { document.getElementById('id').focus();}, 0);
爽,問題解決!
setTimeout是指在載入后延遲指定時(shí)間后執(zhí)行前面的表達(dá)式,當(dāng)然在這里是延遲0ms之后執(zhí)行function。
當(dāng)我只是解決了這個(gè)問題,仍然不知道為什么在火狐下這樣就能解決,如有哪位大神曉得,給下留言,讓晚生學(xué)習(xí)一下,不勝感激!
您可能感興趣的文章:
- jQuery實(shí)現(xiàn)表單input中提示文字value隨鼠標(biāo)焦點(diǎn)移進(jìn)移出而顯示或隱藏的代碼
- jquery關(guān)于頁面焦點(diǎn)的定位(文本框獲取焦點(diǎn)時(shí)改變樣式 )
- 文本框獲得焦點(diǎn)和失去焦點(diǎn)的判斷代碼
- 在js(jquery)中獲得文本框焦點(diǎn)和失去焦點(diǎn)的方法
- input 輸入框獲得/失去焦點(diǎn)時(shí)隱藏/顯示文字(jquery版)
- 鼠標(biāo)焦點(diǎn)離開文本框時(shí)驗(yàn)證的js代碼
- 文本框(input)獲取焦點(diǎn)(onfocus)時(shí)樣式改變的示例代碼
- 調(diào)用DOM對象的focus使文本框獲得焦點(diǎn)
- js實(shí)現(xiàn)文本框中焦點(diǎn)在最后位置
- input輸入框鼠標(biāo)焦點(diǎn)提示信息
相關(guān)文章
JavaScript實(shí)現(xiàn)N皇后問題算法謎題解答
這篇文章主要介紹了JavaScript實(shí)現(xiàn)N皇后問題算法謎題解答,N皇后問題是指將N個(gè)皇后放置在NxN的國際象棋棋盤上,其中沒有任何兩個(gè)皇后處于同一行、同一列或同一對角線上,以使得它們不能互相攻擊,需要的朋友可以參考下2014-12-12JS庫之Particles.js中文開發(fā)手冊及參數(shù)詳解
因?yàn)樽约盒枰霎a(chǎn)品,所以一個(gè)好的UI界面也是很重要的,發(fā)現(xiàn)這種散射的原子顆粒特效還不錯。今天腳本之家小編把Particles.js中文開發(fā)手冊及particles.js參數(shù)分享給大家,需要的朋友參考下吧2017-09-09jquery實(shí)現(xiàn)的圖片點(diǎn)擊滾動效果
這篇文章主要介紹了jquery實(shí)現(xiàn)的圖片點(diǎn)擊滾動效果,需要的朋友可以參考下2014-04-04javascript 使用for循環(huán)時(shí)該注意的問題-附問題總結(jié)
所謂for循環(huán)就是重復(fù)的執(zhí)行一段代碼,for循環(huán)也是希望在創(chuàng)建循環(huán)時(shí)常會用到的工具,這篇內(nèi)容主要給大家介紹javascript 使用for循環(huán)時(shí)該注意的問題-附問題總結(jié),需要的朋友可以參考下2015-08-08JavaScript實(shí)現(xiàn)計(jì)算圓周率到小數(shù)點(diǎn)后100位的方法示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)計(jì)算圓周率到小數(shù)點(diǎn)后100位的方法,簡單分析了圓周率計(jì)算的原理并結(jié)合實(shí)例形式給出了javascript計(jì)算圓周率的具體操作技巧,需要的朋友可以參考下2018-05-05JavaScript常用截取字符串的三種方式用法區(qū)別實(shí)例解析
本文給大家分享JavaScript常用截取字符串的三種方式及每種用法的區(qū)別解析,感興趣的朋友跟隨腳本之家小編一起看看吧2018-05-05