文本框用js獲得焦點問題

在測試js語句的時候經常會在瀏覽器的控制檯裏(F12)跑,今天在控制檯裏測試文本框的獲取焦點的方法就遇到了點問題。

文本框用的就是最簡單的input type="text",不管是這個input的dom元素還是它封裝的jquery元素,都可以通過focus()方法使得他獲得輸入焦點。但是放在控制檯裏執行就是有問題,用的語句是document.getElementById('t1').focus()和$('#t1').focus(),t1是其id。瀏覽器用的是UC(webkit內核)和chrome,後來用IE(IE11)試了下卻是正常的。

琢磨了一會終於發現問題出在瀏覽器主窗體和控制檯的焦點。UC/chrome的控制檯執行js,已經使得文本框獲得了焦點,但是執行完語句後控制檯又奪回了焦點,等待後續語句的輸入。而IE控制檯執行完js,發現控制檯和文本框都有豎線在閃動,這時候繼續輸入字符,發現會顯示在文本框裏,說明實際的焦點是在文本框上的。

類似的情況還有用alert來測試失去焦點事件和獲取焦點事件也可能會產證這種問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章