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 继承实现方法
Aug 26 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 Javascript
js加入收藏以及使用Jquery更改透明度
Jan 26 Javascript
jquery仿搜索自动联想功能代码
May 23 Javascript
JavaScript学习笔记之Cookie对象
Jan 22 Javascript
vue.js入门教程之计算属性
Sep 01 Javascript
最原始的jQuery注册验证方式
Oct 11 Javascript
AngularJs 常用的过滤器
May 15 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
Aug 14 jQuery
Vue数据双向绑定原理及简单实现方法
May 18 Javascript
在vue中使用vue-echarts-v3的实例代码
Sep 13 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 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文件上传实例详解!!!
2007/01/02 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
python根据文件大小打log日志
2014/10/09 Python
使用Python进行目录的对比方法
2018/11/01 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
python程序文件扩展名知识点详解
2020/02/27 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
领导证婚人证婚词
2014/01/13 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
Java中API的使用方法详情
2022/04/06 Java/Android