现代浏览器中内置的大量的事件处理器会监视特定的条件或用户行为,例如鼠标单击或浏览器窗口中完成加载某个图像。通过使用客户端的 JavaScript,可以将某些特定的事件处理器作为属性添加给特定的标签,并可以在事件发生时执行一个或多个 JavaScript 命令或函数。HTML5 规范允许用户自定义网页上的任意元素全屏显示,也就是所谓的HTML全屏事件。下面我们来全面解析一下HTML全屏事件,深入了解其中的原理。
① document.fullscreen 判断当前文档是否全屏显示内容,已弃用,不建议使用
② document.fullscreenElement 当前文档正以全屏模式显示的Element节点,如果没有全屏模式,则返回null,可以用于替代上面的属性
① Element.requestFullscreen() 请求浏览器(user agent)将特定元素(甚至延伸到它的后代元素)置为全屏模式,隐去屏幕上的浏览器所有 UI 元素,以及其它应用。返回一个 Promise,并会在全屏模式被激活的时候变成 resolved 状态。
② Document.exitFullscreen() 用于请求从全屏模式切换到窗口模式,会返回一个 Promise,会在全屏模式完全关闭的时候被置为resolved 状态。
① fullscreenchange事件,浏览器进入或者离开全屏时触发
② fullscreenerror事件,浏览器切换全屏状态报错回调
由于兼容问题, 需要加兼容前缀,例如webkit内核浏览器: webkitRequestFullScreen
import fscreen from './node_modules/fscreen/src/index.js';
console.log(fscreen.fullscreenEnabled);
console.log(fscreen.fullscreenElement);
if (fscreen.fullscreenEnabled) {
document.addEventListener('keydown', function (e) {
if (e.keyCode == 13) {
if (!fscreen.fullscreenElement) {
fscreen.requestFullscreen(dv);
} else {
fscreen.exitFullscreen();
}
}
});
}
fscreen.addEventListener('fullscreenchange', function (e) {
console.log(e);
console.log(fscreen.fullscreenElement)
});
:full-screen .box{}
:webkit-full-screen .box{}
#dv:fullscreen {
text-align: center;
vertical-align: middle;
display: flex;
align-items: center;
justify-content: center;
}
标准事件函数默认的第一个参数
是描述发生事件的详细信息
在需要的时候的,标准用e.stopPropagation( ) 阻止冒泡问题,
配合capture使用,阻止冒泡
touches 当前屏幕上的手指列表(所有触点的集合)
targetTouches 当前元素上的手指列表(触发事件元素上的触点集合)
changedTouches 触发当前事件的手指列表
获取手指的个数 e.changedTouches.length
获取坐标 e.changedTouches[0].pageX
以上就是HTML全屏事件涉及到的全部内容,由于内容过于冗杂我们一时间很难掌握,我们可以结合本站的HTML视频教程加以理解,深入探究HTML全屏事件的工作原理和机制,彻底掌握HTML事件的使用。
代码小兵49806-11 15:28
代码小兵49806-11 15:51
代码小兵49806-11 16:22
代码小兵51603-29 17:28
暴风城-小飞04-06 20:49