DOM 元素中的焦點管理

Lmagic16發表於2019-02-17

DOM 元素中的焦點管理

1. 焦點元素

表單元素(inputselect 或者 textarea 等)

以及 document.body

2. 如何檢視當前焦點元素

document.activeElement:返回當前頁面中獲得焦點的元素,也就是說,如果此時使用者按下了鍵盤上某個鍵,會在該元素上觸發鍵盤事件。該屬性是隻讀的。

Chrome 頁面載入後預設的焦點元素是 document.body

https://developer.mozilla.org…

3. 如何讓元素獲得焦點

1)頁面互動:點選 input 輸入框等。

2)JS程式碼:HTMLElement.focus() 方法可以設定指定元素獲取焦點。

3)使用 HTML5 定義的新屬性 autofocus,可以讓元素自動獲得焦點。

例如 <input type=”text” autofocus />

這樣 input 會在頁面載入後會自動獲得焦點。

注意:普通 DOM 元素,想要獲得焦點,需要先設定 tabindex="-1" 屬性,再通過頁面互動或者 focus 方式,讓其獲得焦點。

4. 如何讓元素失去焦點

1)頁面互動:點選頁面其他地方

2)JS程式碼:HTMLElement.blur() blur方法用來移除當前元素所獲得的鍵盤焦點。

5. tabindex 屬性

tabindex 屬性的作用是:當用 tab 鍵遍歷切換頁面的表單元素時,按照 tabindex 的大小決定順序。

當普通 DOM 元素設定屬性 tabindex=”-1″ 時,可將其成為焦點元素。

更多 tableindex 相關:http://www.cnblogs.com/rubylo…


更多部落格:https://github.com/Lmagic16/blog

相關文章