HTML5 增加了辅助 DOM 焦点管理的功能。首先是 document.activeElement,始终包含当前拥
有焦点的 DOM 元素。页面加载时,可以通过用户输入(按 Tab 键或代码中使用 focus()方法)让某个元素自动获得焦点。例如:
“`let button = document.getElementById(“myButton”);
button.focus();
console.log(document.activeElement === button); // true
默认情况下,document.activeElement 在页面刚加载完之后会设置为 document.body。而在页面完全加载之前,document.activeElement 的值为 null。
“`
其次是 document.hasFocus()方法,该方法返回布尔值,表示文档是否拥有焦点:
“`let button = document.getElementById(“myButton”);
button.focus();
console.log(d服务器托管网ocument.hasFocus()); // true
“`
确定文档是否获得了焦点,就可以帮助确定用户是否在操作页面。
第一个方法可以用来查询文档,确定哪个元素拥有焦点,第二个方法可以查询文档是否获得了焦点,而这对于保证 Web 应用程序的无障碍使用是非常重要的。无障碍 Web 应用程序的一个重要方面就是焦点管理,而能够确定哪个元素当前拥有焦点(相比于之前的猜测)是一个很大的进步。
HTMLDocument 扩展
HTML5 扩展了 HTMLDocument 类型,增加了更多功能。与其他 HTML5 定义的 DOM 扩展一样,这些变化同样基于所有浏览器事实上都已经支持的专有扩展。为此,即使这些扩展的标准化相对较晚,很多浏览器也早就实现了相应的功能。
1. readyState 属性
readyState 是 IE4 最早添加到 document 对象上的属性,后来其他浏览器也都依葫芦画瓢地支持这个属性。最终,HTML5 将这个属性写进了标准。document.readyState 属性有两个可能的值:
“` loading,表示文档正在加载;
complete,表示文档加载完成。
“`
实际开发中,最好是把 document.readState 当成一个指示器,以判断文档是否加载完毕。在这个属性得到广泛支持以前,通常要依赖 onload 事件处理程序设置一个标记,表示文档加载完了。这个属性的基本用法如下:
“`if (document.readyState == “complete”){
// 执行操作
}
“`
compatMode 属性
自从 IE6 提供了以标准或混杂模式渲染页面的能力之后,检测页面渲染模式成为一个必要的需求。
IE 为 document 添加了 compatMode 属性,这个属性唯一的任务是指示浏览器当前处于什么渲染模式。
如下面的例子所示,标准模式下 document.compatMode 的值是”CSS1Compat”,而在混杂模式下,document.compatMode 的值是”BackCompat”:
“`if (document.compatMode == “CSS1Compat”){
console.log(“Standards mode”);
} else {
console.log(“Quirks mode”);
}
“`
HTML5 最终也把 compatMode 属性的实现标准化了。
head 属性
作为对 document.body(指向文档的
元素)的补充,HTML5 增加了 document.head 属性,指向文档的元素。可以像下面这样直接取得元素:
“`let head = document.head;
“`HTML5 增加了辅助 DOM 焦点管理的功能。首先是 document.act服务器托管网iveElement,始终包含当前拥
有焦点的 DOM 元素。页面加载时,可以通过用户输入(按 Tab 键或代码中使用 focus()方法)让某个元素自动获得焦点。例如:
button.focus();
console.log(document.activeElement === button); // true
默认情况下,document.activeElement 在页面刚加载完之后会设置为 document.body。而在页面完全加载之前,document.activeElement 的值为 null。
其次是 document.hasFocus()方法,该方法返回布尔值,表示文档是否拥有焦点:
button.focus();
console.log(document.hasFocus()); // true
确定文档是否获得了焦点,就可以帮助确定用户是否在操作页面。
第一个方法可以用来查询文档,确定哪个元素拥有焦点,第二个方法可以查询文档是否获得了焦点,而这对于保证 Web 应用程序的无障碍使用是非常重要的。无障碍 Web 应用程序的一个重要方面就是焦点管理,而能够确定哪个元素当前拥有焦点(相比于之前的猜测)是一个很大的进步。
HTMLDocument 扩展
HTML5 扩展了 HTMLDocument 类型,增加了更多功能。与其他 HTML5 定义的 DOM 扩展一样,这些变化同样基于所有浏览器事实上都已经支持的专有扩展。为此,即使这些扩展的标准化相对较晚,很多浏览器也早就实现了相应的功能。
- readyState 属性
readyState 是 IE4 最早添加到 document 对象上的属性,后来其他浏览器也都依葫芦画瓢地支持这个属性。最终,HTML5 将这个属性写进了标准。document.readyState 属性有两个可能的值:
complete,表示文档加载完成。
实际开发中,最好是把 document.readState 当成一个指示器,以判断文档是否加载完毕。在这个属性得到广泛支持以前,通常要依赖 onload 事件处理程序设置一个标记,表示文档加载完了。这个属性的基本用法如下:
// 执行操作
}
compatMode 属性
自从 IE6 提供了以标准或混杂模式渲染页面的能力之后,检测页面渲染模式成为一个必要的需求。
IE 为 document 添加了 compatMode 属性,这个属性唯一的任务是指示浏览器当前处于什么渲染模式。
如下面的例子所示,标准模式下 document.compatMode 的值是”CSS1Compat”,而在混杂模式下,document.compatMode 的值是”BackCompat”:
console.log("Standards mode");
} else {
console.log("Quirks mode");
}
HTML5 最终也把 compatMode 属性的实现标准化了。
head 属性
作为对 document.body(指向文档的元素)的补充,HTML5 增加了 document.head 属性,指向文档的元素。可以像下面这样直接取得元素:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 开源:Taurus.DTS 微服务分布式任务框架,支持即时任务、延时任务、Cron表达式定时任务和广播任务。
前言: 在发布完:开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本,之后想想,好像除了事务外,感觉里面多了一个任务发布订阅的基础功能。 本想既然都有了基础发布订阅功能了,那要不要顺带加上延时发布功能呢?加上了…