Перехватить событие нажатия 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, время: 06:26. |