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 相关文章推荐
JavaScript 嵌套函数指向this对象错误的解决方法
Mar 15 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 Javascript
轻松学习Javascript闭包函数
Dec 15 Javascript
js select下拉联动 更具级联性!
Apr 17 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
vue-devtools的安装和使用步骤详解
Oct 17 Javascript
jquery实现两个div中的元素相互拖动的方法分析
Apr 05 jQuery
JS数组reduce()方法原理及使用技巧解析
Jul 14 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
Nov 17 Javascript
Node.js实现断点续传
Jun 23 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[20:30]职业巡回赛回顾
2018/08/09 DOTA
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
python实现Decorator模式实例代码
2018/02/09 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
python如何实现异步调用函数执行
2019/07/08 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
python实现取余操作的简单实例
2020/08/16 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
会计应届生的自荐信
2013/12/13 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
建筑节能汇报材料
2014/08/22 职场文书
销售经理岗位职责
2015/01/31 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
纪录片信仰观后感
2015/06/08 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
拙作再改《我的收音机情缘》
2022/04/05 无线电