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 获取链接(url)参数的方法
Feb 15 Javascript
JavaScript Cookie的读取和写入函数
Dec 08 Javascript
Javascript面向对象编程
Mar 18 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
Aug 14 Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 Javascript
js检测iframe是否加载完成的方法
Nov 26 Javascript
JavaScript编写的网页小游戏,很给力
Aug 18 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
如何实现双向绑定mvvm的原理实现
May 28 Javascript
防止Layui form表单重复提交的实现方法
Sep 10 Javascript
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
js实现有趣的倒计时效果
Jan 19 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
php preg_replace替换实例讲解
2013/11/04 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Django中的cookie和session
2019/08/27 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
Python 列表的清空方式
2020/01/13 Python
Django框架models使用group by详解
2020/03/11 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
元旦红领巾广播稿
2014/02/19 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
业务内勤岗位职责
2015/04/13 职场文书