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 相关文章推荐
List the Stored Procedures in a SQL Server database
Jun 20 Javascript
JS 图片缩放效果代码
Jun 09 Javascript
jQuery 图片切换插件(代码比较少)
May 07 Javascript
js判断设备是否为PC并调整图片大小
Feb 12 Javascript
js 实现浏览历史记录示例
Apr 20 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
JS简单计算器实例
Jan 20 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
Mar 18 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
Aug 25 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
Feb 13 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
Dec 29 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
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
JavaScript中的prototype使用说明
2010/04/13 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
python中正则表达式的使用详解
2014/10/17 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
python自定义时钟类、定时任务类
2021/02/22 Python
使用Python的turtle模块画国旗
2019/09/24 Python
python pip如何手动安装二进制包
2020/09/30 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
百度软件工程师职位
2013/02/14 面试题
检讨书1000字
2014/10/11 职场文书
2014年法务工作总结
2014/12/11 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
golang import自定义包方式
2021/04/29 Golang
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP