Cuando esc , por ejemplo, o Atrás en un móvil Android, obviamente no ejecutará la función.
¿Cómo puedo detectar cuándo se ha salido de la pantalla completa para ejecutar las funciones que quiero?
videoSmallTrigger.on('click', function() { // Activate if (!document.isFullScreen && !document.fullscreenElement && !document.webkitFullscreenElement && !document.mozFullScreenElement && !document.msFullscreenElement) { console.log('trigger open'); launchFullscreen(videoSmallID); body.addClass('fullscreen-video-sm'); videoSmall.get(0).play(); } // Deactivate else { console.log('trigger close'); exitFullscreen(); body.removeClass('fullscreen-video-sm'); videoSmall.get(0).pause(); } }); function launchFullscreen(element) { if (element.requestFullscreen) { element.requestFullscreen(); } else if (element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if (element.webkitRequestFullscreen) { element.webkitRequestFullscreen(); } else if (element.msRequestFullscreen) { element.msRequestFullscreen(); } } function exitFullscreen() { if(document.exitFullscreen) { document.exitFullscreen(); } else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } }Lo resolvió usando una combinación de esta publicación y algunos de los comentarios debajo de ella:
¿Cómo detectar cuando una página sale de pantalla completa?
if (document.addEventListener) { document.addEventListener('fullscreenchange', exitHandler, false); document.addEventListener('mozfullscreenchange', exitHandler, false); document.addEventListener('MSFullscreenChange', exitHandler, false); document.addEventListener('webkitfullscreenchange', exitHandler, false); } function exitHandler() { if (!document.isFullScreen && !document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) { // Code to run when you exit fullscreen by hitting the ESC key etc. body.removeClass('fullscreen-video-sm'); videoSmall.get(0).pause(); } }