JavaScript中document.activeELement焦點元素介紹
前言:
有時需要獲取頁面焦點在哪個元素上,通過焦點可以判斷用戶是否在操作頁面等信息。以前不太方便,要自己記錄,html5
增加了document.activeElement屬性
可以獲取到當前激活的焦點。
1、默認焦點在body
頁面加載后,document.activeElement是在body上:
console.log(document.activeElement); // 控制臺打?。? // body
2、文本框手動獲取焦點
獲取焦點,最常見的就是表單元素了,這里以文本框為例:
<input type="text" id="name" />
當把光標放到文本框內時,在控制臺查看document.activeElement
對象。
document.activeElement:
就是上面獲取焦點的文本框。
3、通過focus獲取焦點
除了手動放到文本框內,讓文本框獲取焦點,也可以通過focus()
方法讓文本框獲取焦點。
<input type="text" id="name" /> <script type="text/javascript"> // 文本框獲取角度 document.querySelector("#name").focus(); console.log(document.activeElement); // 火狐瀏覽器控制臺打印: // <input id="name" type="text"> </script>
4、tab切換焦點
網頁中可以通過tab切換焦點,再來一個按鈕試試:
<input type="text" id="name" /> <button>點我</button>
為了方便查看效果,設置一個定時器,5秒后打印document.activeElement:
setTimeout(() => { console.log(document.activeElement); // 火狐瀏覽器控制臺打印: // <button> }, 5000);
訪問頁面,通過tab切換到button按鈕上,然后查看控制臺輸出:
tab切換焦點:
5、document.hasFocus()判斷是否獲取焦點
同樣的設置定時器查看:
setTimeout(() => { console.log(document.hasFocus()); }, 5000);
- 訪問頁面時,如果切換到其他頁面,5秒后回來查看就是
false
。表示用戶并沒有在操作頁面。 - 如果停留在頁面或者再頁面操作,那么返回true,通過這個可以判斷用戶是否在操作頁面。
到此這篇關于 JavaScript
中document.activeELement
焦點元素介紹的文章就介紹到這了,更多相關 JavaScript
中document.activeELement
焦點元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
TypeScript與JavaScript對比及打包工具比較
這篇文章主要為大家介紹了TypeScript與JavaScript對比及打包工具比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03動態(tài)內存分配導致影響Javascript性能的問題
今天小編就為大家分享一篇關于動態(tài)內存分配導致影響Javascript性能的問題,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12You-Dont-Know-JS詞法作用域及兩種常見的模型學習文檔
這篇文章主要為大家介紹了JS?詞法作用域及兩種常見的模型詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08