html5全屏效果和全屏后无法用keypress或keydown监听到Esc按键解决方案
全屏代码
let exitFullscreen = false;
function handleFullScreen() {
let element = document.documentElement;
let is_full_screen = getFullScreen();
console.log('is_full_screen===', is_full_screen);
if (is_full_screen) {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
$('#slider-quanping').attr('style', 'display:block;');
} else {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
}
$('#slider-quanping').attr('style', 'display:none;');
}
}
判断是否全屏
function getFullScreen() {
if (document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) {
return true;
} else {
return false;
}
}
监听窗口退出全屏解决无法监听Esc按键
window.onresize = function () {
if (!getFullScreen()) {
$('#slider-quanping').attr('style', 'display:block;');
}
}