亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

火狐下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í),我是用的
復(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í)一下,不勝感激!

相關(guān)文章

最新評論