Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2014, 12:34
Новичок на форуме
Отправить личное сообщение для kotoskos Посмотреть профиль Найти все сообщения от kotoskos
 
Регистрация: 29.05.2014
Сообщений: 6

Перехватить событие нажатия Esc
Как перехватить Esc при выходе из полного экрана браузера?

window.addEventListener("keydown", function(e){
		if (e.keyCode == 27) {
			console.log("A");
		}
	}, true);


Если в обычном режиме, Esc ловится, если полный экран, другие клавиши ловятся, но только не Esc
Ответить с цитированием
  #2 (permalink)  
Старый 29.05.2014, 12:39
Новичок на форуме
Отправить личное сообщение для kotoskos Посмотреть профиль Найти все сообщения от kotoskos
 
Регистрация: 29.05.2014
Сообщений: 6

Вообще конечно, мне на самом деле флаг поправить в js, что был полный экран, стал обычным. Как узнать, что какое событие произошло, и флаг поправить?
Ответить с цитированием
  #3 (permalink)  
Старый 29.05.2014, 12:55
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

событие fullscreenchange, его свойство fullscreenEnabled
Ответить с цитированием
  #4 (permalink)  
Старый 29.05.2014, 15:01
Новичок на форуме
Отправить личное сообщение для kotoskos Посмотреть профиль Найти все сообщения от kotoskos
 
Регистрация: 29.05.2014
Сообщений: 6

Что не могу ловить момент выхода через 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 был правильный всегда

Последний раз редактировалось kotoskos, 29.05.2014 в 16:40.
Ответить с цитированием
  #5 (permalink)  
Старый 29.05.2014, 15:36
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Ну на MDN же всё написано: https://developer.mozilla.org/en-US/...ll_screen_mode
Там же есть готовый кроссбраузерный код - бери не хочу.

Сообщение от kotoskos Посмотреть сообщение
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);
	}
И какой смысл назначать обработчик, которого не существует на момент вызова addEventListener?

Последний раз редактировалось jsnb, 29.05.2014 в 15:47.
Ответить с цитированием
  #6 (permalink)  
Старый 29.05.2014, 16:45
Новичок на форуме
Отправить личное сообщение для kotoskos Посмотреть профиль Найти все сообщения от kotoskos
 
Регистрация: 29.05.2014
Сообщений: 6

Я по выше приведенной ссылке не увидел, как можно при выходе через Esc можно поменять флаг. Обработчик поставил только для того что смотреть console.log. Хочу что fullscreenEnabled показывал статус правильно, а не всегда true. По разному тасовал между собой и element, document, window. Работающую комбинацию не могу найти...
Ответить с цитированием
  #7 (permalink)  
Старый 29.05.2014, 17:25
Новичок на форуме
Отправить личное сообщение для kotoskos Посмотреть профиль Найти все сообщения от kotoskos
 
Регистрация: 29.05.2014
Сообщений: 6

Заработала, спасибо всем
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнить событие после нажатия на ссылку до перехода FRIE Общие вопросы Javascript 2 15.05.2014 11:28
Событие click Гробовщик jQuery 1 31.07.2013 07:28
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Почему в Opera исчезает курсор при нажатии клавиши Esc ? Маэстро Opera, Safari и др. 3 23.11.2010 16:31
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02