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面向对象编程之对象使用分析
Aug 19 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
Sep 17 Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 Javascript
JavaScript错误处理和堆栈追踪详解
Apr 18 Javascript
js插件实现图片滑动验证码
Sep 29 Javascript
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
Vue中的$set的使用实例代码
Oct 08 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
vue递归组件实战之简单树形控件实例代码
Aug 27 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程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
详解YII关联查询
2016/01/10 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
PHP中16个高危函数整理
2019/09/19 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
python进程管理工具supervisor使用实例
2014/09/17 Python
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
python3中eval函数用法使用简介
2019/08/02 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
信息专业个人的自我评价
2013/12/27 职场文书
党员十八大心得体会
2014/09/12 职场文书
golang import自定义包方式
2021/04/29 Golang
Python基础之tkinter图形化界面学习
2021/04/29 Python
JavaScript实现登录窗体
2021/06/22 Javascript
基于angular实现树形二级表格
2021/10/16 Javascript
Python中异常处理用法
2021/11/27 Python
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python