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 css styleFloat和cssFloat
Mar 15 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
Dec 10 Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 Javascript
在HTML中插入JavaScript代码的示例
Jun 03 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
Jul 24 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
Sep 05 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
JS面试题大坑之隐式类型转换实例代码
Oct 14 Javascript
微信小程序实现底部导航
Nov 05 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
Apr 17 Javascript
解决vue项目router切换太慢问题
Jul 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实现ping
2006/10/09 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
2011/10/09 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
2016/12/18 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python实现log日志的示例代码
2018/04/28 Python
python实现最长公共子序列
2018/05/22 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
中式婚礼主持词
2014/03/13 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
邀请书格式范文
2015/02/02 职场文书
2015年班组长工作总结
2015/04/10 职场文书