目录
  1、document.activeElement属性
  HTML代码
  JavaScript代码
  2、document.hasFocus()方法
  hasFocus()应用小例子
首页 web前端 H5教程 HTML5实战与剖析之焦点管理(activeElement和hasFocus)

HTML5实战与剖析之焦点管理(activeElement和hasFocus)

Feb 10, 2017 pm 02:57 PM

  现在的网站越来越注重残障人士了,很多网站都开始有专为视力不好的人们制作一些便捷通道,方便他们进行浏览网页。下面就为大家介绍一下有关焦点管理和盲人网站方面的事儿,希望能对大家有所帮助。

  21世纪的网站,越来越注重残障人士了,其他伤残类型还好说一些,要是视力方面不太好的人们去浏览网站,基本上是不知道怎么浏览。视力不好的人们去浏览基本上是靠获取焦点来浏览网站的,主要是靠获取焦点以后读取内容来浏览网站的。所以焦点管理在为视力不好的人们制作网站的时候是尤为重要的。

  正因为考虑到视力不好的人们是客观存在的,所以HTML5添加了辅助管理DOM焦点的功能。

  1、document.activeElement属性

  Document.activeelement属性始终会引用DOM中当前获得了焦点的元素。元素获得焦点的方式有用户输入(通常是按Tab键)、在代码中调用focus()方法和页面加载。先来看个小例子。

  HTML代码

<body id="body">
  <input id="btn" type="button" value="梦龙小站" />
</body>
登录后复制
登录后复制

  JavaScript代码

window.onload = function(){
	var btn = document.getElementById("btn");

	//页面加载获取焦点
	alert(document.activeElement.id) // body
	
	//调用focus()方法获取焦点
	btn.focus();

	alert(document.activeElement.id) // btn
};
登录后复制

  默认情况下,文档刚刚加载完成的时候,document.activeelement中保存的是document.body元素的引用。文档加载期间,document.activeelement的值为null。通过document.activeelement可以判断文档是否加载完成。

  2、document.hasFocus()方法

  HTML5除了新添加了document.activeelement属性,还添加了document.hasfocus()方法。这个方法用于确定文档是否获得了焦点。先来看个小例子。

  HTML代码

<body id="body">
  <input id="btn" type="button" value="梦龙小站" />
</body>
登录后复制
登录后复制

  JavaScript代码

window.onload = function(){
	var btn = document.getElementById("btn");

	alert(document.hasFocus())  //true
};
登录后复制

  有了hasFocus()方法,我们就可以检测文档是否获得了焦点,可以知道用户是不是在与页面交互。

  查询文档获知哪个元素获得了焦点,以及确定文档是否获得了焦点,这两个功能最重要的用途是提供Web应用的无障碍性。无障碍Web应用的一个主要标志就是恰当的焦点管理,而确切知道哪个元素获得了焦点是一个极大的进步,至少我们不用像过去一样靠猜测了。先来看个小例子。

  hasFocus()应用小例子

  HTML代码

<p id="meng">鼠标放上来</p>
<p id="long" style="display:none;">获取焦点了</p>
登录后复制

  JavaScript代码

window.onload = function(){
	var oMeng = document.getElementById("meng");
	var oLong = document.getElementById("long");

	oMeng.onmouseover = getFocus;
	oMeng.onmouseout = loseFocus;

	function getFocus(){
		if (document.hasFocus())
		{
			oLong.style.display = "block";
		}
	}
	function loseFocus(){
		oLong.style.display = "none";
	}

};
登录后复制

  上面这个例子充分运用了hasFocus()方法来判断是否获得了焦点。从而也让我们感觉了一下hasFocus()方法的魅力,以及焦点管理的用处。能够实现这hasFocus()方法和activeElement属性的浏览器有:FireFox 3+、Safari 4+、Chrome、Opera 8+ 和IE 4+。

  HTML5实战与剖析之焦点管理(activeElement和hasFocus)就为大家分享到这里。中国Web应用无障碍化还有待发展,掌握好焦点管理(activeElement和hasFocus),基本上能够实现Web应用无障碍化。感谢大家对梦龙小站的支持,更多有关HTML5的跟新敬请关注梦龙小站HTML5实战与剖析的相关更新。


以上就是HTML5实战与剖析之焦点管理(activeElement和hasFocus) 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

HTML 中的表格边框 HTML 中的表格边框 Sep 04, 2024 pm 04:49 PM

HTML 表格边框指南。在这里,我们以 HTML 中的表格边框为例,讨论定义表格边框的多种方法。

HTML 左边距 HTML 左边距 Sep 04, 2024 pm 04:48 PM

HTML 左边距指南。在这里,我们讨论 HTML margin-left 的简要概述及其示例及其代码实现。

HTML 中的嵌套表 HTML 中的嵌套表 Sep 04, 2024 pm 04:49 PM

这是 HTML 中嵌套表的指南。这里我们讨论如何在表中创建表以及相应的示例。

HTML 表格布局 HTML 表格布局 Sep 04, 2024 pm 04:54 PM

HTML 表格布局指南。在这里,我们详细讨论 HTML 表格布局的值以及示例和输出。

HTML 输入占位符 HTML 输入占位符 Sep 04, 2024 pm 04:54 PM

HTML 输入占位符指南。在这里,我们讨论 HTML 输入占位符的示例以及代码和输出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在这里我们还分别讨论了 HTML 有序列表和类型的介绍以及它们的示例

在 HTML 中移动文本 在 HTML 中移动文本 Sep 04, 2024 pm 04:45 PM

HTML 中的文本移动指南。在这里我们讨论一下marquee标签如何使用语法和实现示例。

HTML onclick 按钮 HTML onclick 按钮 Sep 04, 2024 pm 04:49 PM

HTML onclick 按钮指南。这里我们分别讨论它们的介绍、工作原理、示例以及各个事件中的onclick事件。

See all articles