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下判断IE与FF的比较简单的方式
Oct 17 Javascript
Javascript单元测试框架QUnitjs详细介绍
May 08 Javascript
jQuery判断指定id的对象是否存在的方法
May 22 Javascript
Jquery简单分页实现方法
Jul 24 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
Feb 18 Javascript
bootstrap PrintThis打印插件使用详解
Feb 20 Javascript
Vue中计算属性computed的示例解读
Jul 26 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 jQuery
javascript代码优化的8点总结
Jan 29 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 Javascript
jQuery实现简单弹幕效果
Nov 28 jQuery
利用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生成文件
2007/01/15 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
强制设为首页代码
2006/06/19 Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
django框架如何集成celery进行开发
2017/05/24 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
Python接口开发实现步骤详解
2020/04/26 Python
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
应届毕业生个人求职信范文
2014/01/29 职场文书
党员一句话承诺大全
2014/03/28 职场文书
采购内勤岗位职责
2015/04/13 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android