JavaScript中document.activeELement焦點(diǎn)元素介紹
前言:
有時(shí)需要獲取頁面焦點(diǎn)在哪個(gè)元素上,通過焦點(diǎn)可以判斷用戶是否在操作頁面等信息。以前不太方便,要自己記錄,html5增加了document.activeElement屬性可以獲取到當(dāng)前激活的焦點(diǎn)。
1、默認(rèn)焦點(diǎn)在body
頁面加載后,document.activeElement是在body上:
console.log(document.activeElement); // 控制臺打?。? // body
2、文本框手動(dòng)獲取焦點(diǎn)
獲取焦點(diǎn),最常見的就是表單元素了,這里以文本框?yàn)槔?/strong>
<input type="text" id="name" />
當(dāng)把光標(biāo)放到文本框內(nèi)時(shí),在控制臺查看document.activeElement對象。
document.activeElement:

就是上面獲取焦點(diǎn)的文本框。
3、通過focus獲取焦點(diǎn)
除了手動(dòng)放到文本框內(nèi),讓文本框獲取焦點(diǎn),也可以通過focus()方法讓文本框獲取焦點(diǎn)。
<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切換焦點(diǎn)
網(wǎng)頁中可以通過tab切換焦點(diǎn),再來一個(gè)按鈕試試:
<input type="text" id="name" /> <button>點(diǎn)我</button>
為了方便查看效果,設(shè)置一個(gè)定時(shí)器,5秒后打印document.activeElement:
setTimeout(() => {
console.log(document.activeElement);
// 火狐瀏覽器控制臺打?。?
// <button>
}, 5000);
訪問頁面,通過tab切換到button按鈕上,然后查看控制臺輸出:
tab切換焦點(diǎn):

5、document.hasFocus()判斷是否獲取焦點(diǎn)
同樣的設(shè)置定時(shí)器查看:
setTimeout(() => {
console.log(document.hasFocus());
}, 5000);
- 訪問頁面時(shí),如果切換到其他頁面,5秒后回來查看就是
false。表示用戶并沒有在操作頁面。 - 如果停留在頁面或者再頁面操作,那么返回true,通過這個(gè)可以判斷用戶是否在操作頁面。
到此這篇關(guān)于 JavaScript中document.activeELement焦點(diǎn)元素介紹的文章就介紹到這了,更多相關(guān) JavaScript中document.activeELement焦點(diǎn)元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
TypeScript與JavaScript對比及打包工具比較
這篇文章主要為大家介紹了TypeScript與JavaScript對比及打包工具比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
微信小程序 Canvas增強(qiáng)組件實(shí)例詳解及源碼分享
這篇文章主要介紹了微信小程序 Canvas增強(qiáng)組件實(shí)例詳解及源碼分享的相關(guān)資料,WeZRender是一個(gè)微信小程序Canvas增強(qiáng)組件,這里詳細(xì)介紹,需要的朋友可以參考下2017-01-01
動(dòng)態(tài)內(nèi)存分配導(dǎo)致影響Javascript性能的問題
今天小編就為大家分享一篇關(guān)于動(dòng)態(tài)內(nèi)存分配導(dǎo)致影響Javascript性能的問題,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
You-Dont-Know-JS詞法作用域及兩種常見的模型學(xué)習(xí)文檔
這篇文章主要為大家介紹了JS?詞法作用域及兩種常見的模型詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

