Перехватить событие нажатия Esc
Как перехватить Esc при выходе из полного экрана браузера?
window.addEventListener("keydown", function(e){ if (e.keyCode == 27) { console.log("A"); } }, true); Если в обычном режиме, Esc ловится, если полный экран, другие клавиши ловятся, но только не Esc |
Вообще конечно, мне на самом деле флаг поправить в js, что был полный экран, стал обычным. Как узнать, что какое событие произошло, и флаг поправить?
|
событие fullscreenchange, его свойство fullscreenEnabled
|
Что не могу ловить момент выхода через Esc.
При увеличение на полный экран, fullscreenElement содержить весь код элемента bbb, зачем он нужен, не понятно, а то что нужно, fullscreenEnabled всегда undefined var element = document.getElementById('bbb'); function fullScreenClick(){ if(!fullscreen){ element.requestFullscreen(); fullscreen = true; }else{ document.cancelFullScreen(); fullscreen = false; } } window.addEventListener("mozfullscreenchange", onfullscreenchange); var onfullscreenchange = function(e){ var fullscreenElement = document.mozFullscreenElement; var fullscreenEnabled = element.mozFullscreenEnabled; console.log( 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA fullscreenEnabled = ' + fullscreenEnabled, ', fullscreenElement = ', fullscreenElement, ', e = ', e); } Мне вообщем что бы флаг fullscreen был правильный всегда |
Ну на MDN же всё написано: https://developer.mozilla.org/en-US/...ll_screen_mode
Там же есть готовый кроссбраузерный код - бери не хочу. Цитата:
|
Я по выше приведенной ссылке не увидел, как можно при выходе через Esc можно поменять флаг. Обработчик поставил только для того что смотреть console.log. Хочу что fullscreenEnabled показывал статус правильно, а не всегда true. По разному тасовал между собой и element, document, window. Работающую комбинацию не могу найти...
|
Заработала, спасибо всем
|
Часовой пояс GMT +3, время: 12:29. |