Как определить нажатие клавиши выхода при просмотре видео на Youtube?

Странный вопрос, но вот он. У меня есть страничка, на которой я показываю фото в большом формате, вроде лайтбокса. Нажимая ESC, я закрываю страницу и возвращаю пользователя на страницу, откуда он пришел, где фотографии отображаются в обычном формате:

$(document).keyup(function(e) {
 if (e.keyCode == 27) {
    var closeURL = $('.close').attr('href');
        window.location = closeURL;
 }
});

Однако на той же странице лайтбокса также есть боковая панель, которая может содержать встроенные видео Youtube. Пользователи могут увеличить это видео до полноэкранного режима, используя стандартные элементы управления видео в проигрывателе Youtube. Если пользователь нажимает ESC в этом сценарии, он закроет полноэкранное видео и вернется на страницу лайтбокса (стандартное поведение встроенного проигрывателя, что я хочу), однако событие клавиши ESC, затем также запускает мой код keyup, закрывающий лайтбокс, нежелательный в данном конкретном сценарии.

Я обнаружил, что это происходит в Chrome, но не в Firefox.По сути, я хочу, чтобы мой код ESC не запускался при нажатии ESC, чтобы закрыть проигрыватель Youtube, но чтобы он запускался только тогда, когда пользователи нажимают ESC во время просмотра фотографии (а не видео).

Я искал event.target, чтобы различать эти сценарии, но пока не повезло. Есть идеи?

Обновление: Я собираюсь принять эту ошибку, связанную только с Chrome. Тем не менее, все еще открыт для решений.

6
задан Rob W 10 November 2011 в 22:04
поделиться