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 相关文章推荐
JS获取dom 对象 ajax操作 读写cookie函数
Nov 18 Javascript
JQuery 获取和设置Select选项的代码
Feb 07 Javascript
JavaScript 更严格的相等 [译]
Sep 20 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
Oct 25 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
Dec 13 Javascript
分享一则javascript 调试技巧
Jan 02 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
深入理解JavaScript中的尾调用(Tail Call)
Feb 07 Javascript
jQuery模拟下拉框选择对应菜单的内容
Mar 07 Javascript
js+css实现红包雨效果
Jul 12 Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 Javascript
Vue实现下拉加载更多
May 09 Vue.js
利用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面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
php画图实例
2014/11/05 PHP
JavaScript中的排序算法代码
2011/02/22 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
JavaScript中的this机制
2016/01/30 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
详解python3百度指数抓取实例
2016/12/12 Python
Python编程实现蚁群算法详解
2017/11/13 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
python实现三壶谜题的示例详解
2020/11/02 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
出生医学证明样本
2014/01/17 职场文书
新春联欢会主持词
2014/03/24 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
使用refresh_token实现无感刷新页面
2022/04/26 Javascript