JavaScript中document.activeELement焦点元素介绍


Posted in Javascript onNovember 27, 2021

前言:

有时需要获取页面焦点在哪个元素上,通过焦点可以判断用户是否在操作页面等信息。以前不太方便,要自己记录,html5增加了document.activeElement属性可以获取到当前激活的焦点。

1、默认焦点在body

页面加载后,document.activeElement是在body上:

console.log(document.activeElement);

// 控制台打印:

//    body

2、文本框手动获取焦点

获取焦点,最常见的就是表单元素了,这里以文本框为例:

<input type="text" id="name" />

当把光标放到文本框内时,在控制台查看document.activeElement对象。

document.activeElement:

JavaScript中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切换焦点:

JavaScript中document.activeELement焦点元素介绍

5、document.hasFocus()判断是否获取焦点

同样的设置定时器查看:

setTimeout(() => {

    console.log(document.hasFocus());

}, 5000);
  • 访问页面时,如果切换到其他页面,5秒后回来查看就是false。表示用户并没有在操作页面。
  • 如果停留在页面或者再页面操作,那么返回true,通过这个可以判断用户是否在操作页面。

到此这篇关于 JavaScriptdocument.activeELement焦点元素介绍的文章就介绍到这了,更多相关 JavaScriptdocument.activeELement焦点元素内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
ajax无刷新动态调用股票信息(改良版)
Nov 01 Javascript
用JavaScript编写COM组件的步骤
Mar 17 Javascript
Document对象内容集合(比较全)
Sep 06 Javascript
自用js开发框架小成 学习js的朋友可以看看
Nov 16 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
Mar 12 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
js父页面中使用子页面的方法
Jan 09 Javascript
jquery checkbox的相关操作总结
Oct 17 Javascript
vue学习教程之带你一步步详细解析vue-cli
Dec 26 Javascript
详解js常用分割取字符串的方法
May 15 Javascript
vue中使用v-model完成组件间的通信
Aug 22 Javascript
利用JavaScript写一个简单计算器
JavaScript中的宏任务和微任务详情
Nov 27 #Javascript
前端监听websocket消息并实时弹出(实例代码)
Vue实现跑马灯样式文字横向滚动
Nov 23 #Vue.js
利用js实现简单开关灯代码
Nov 23 #Javascript
详解Vue的列表渲染
Nov 20 #Vue.js
详解JS数组方法
Nov 20 #Javascript
You might like
更改localhost为其他名字的方法
2014/02/10 PHP
php中return的用法实例分析
2015/02/28 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
jQuery的remove()方法使用详解
2015/08/11 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
2017/07/11 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
py2exe 编译ico图标的代码
2013/03/08 Python
浅析Python中signal包的使用
2015/11/13 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
会计出纳员的自我评价
2014/01/15 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
环保志愿者活动总结
2014/06/27 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS