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); // 控制臺(tái)打?。? // body
2、文本框手動(dòng)獲取焦點(diǎn)
獲取焦點(diǎn),最常見的就是表單元素了,這里以文本框?yàn)槔?/strong>
<input type="text" id="name" />
當(dāng)把光標(biāo)放到文本框內(nèi)時(shí),在控制臺(tái)查看document.activeElement
對(duì)象。
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); // 火狐瀏覽器控制臺(tái)打?。? // <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); // 火狐瀏覽器控制臺(tái)打印: // <button> }, 5000);
訪問頁面,通過tab切換到button按鈕上,然后查看控制臺(tái)輸出:
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
TypeScript與JavaScript對(duì)比及打包工具比較
這篇文章主要為大家介紹了TypeScript與JavaScript對(duì)比及打包工具比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03JavaScript 對(duì)象創(chuàng)建的3種方法
這篇文章主要給大家分享的時(shí)JavaScript 對(duì)象創(chuàng)建的3種方法,在 JavaScript中,對(duì)象是一組有屬性名和屬性值組成的無序集合,對(duì)象的創(chuàng)建可以通過對(duì)象字面量、new 關(guān)鍵字 和Object.create()函數(shù)來創(chuàng)建。2021-11-11微信小程序 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-12You-Dont-Know-JS詞法作用域及兩種常見的模型學(xué)習(xí)文檔
這篇文章主要為大家介紹了JS?詞法作用域及兩種常見的模型詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08