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 相关文章推荐
jQuery源码分析之Event事件分析
Jun 07 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
jquery使用jxl插件导出excel示例
Apr 14 Javascript
深入分析下javascript中的[]()+!
Jul 07 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
May 05 Javascript
js 获取范围内的随机数实例代码
Aug 02 Javascript
Angularjs使用指令做表单校验的方法
Mar 31 Javascript
jquery实现搜索框功能实例详解
Jul 23 jQuery
详解在Javascript中进行面向切面编程
Apr 28 Javascript
es6 for循环中let和var区别详解
Jan 12 Javascript
vue实现井字棋游戏
Sep 29 Javascript
html中创建并调用vue组件的几种方法汇总
Nov 17 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
模板引擎正则表达式调试小技巧
2011/07/20 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
php防止sql注入的方法详解
2017/02/20 PHP
php post换行的方法
2020/02/03 PHP
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
跟老齐学Python之Import 模块
2014/10/13 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
海淘母婴商城:国际妈咪
2016/07/23 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
个人素质的自我评价分享
2013/12/16 职场文书
二手房买卖协议书
2014/04/10 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
火箭队口号
2014/06/18 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle