0

Я пытаюсь создать демонстрационное приложение, которое воспроизводит список видеороликов youtube. Я добавил функцию, которая воспроизводит следующее/предыдущее видео на основе стрелки вверх/вниз. Это отлично работает, когда видео не нажимается. Но он перестает работать при щелчке видео.keyup event on youtube video

var video_list=[{'videoId':'abcd', 'videoId':'efgh']; 
    var index = 0; 
    $(document).on('keyup', function(event){ 
     var keycode = (event.keyCode ? event.keyCode : event.which); 
     if(keycode == '38') { 
     if(index < video_list.length-1){ 
      index += 1; 
     } else { 
     index = 0; 
     } 
     player.loadVideoById({'videoId': video_list[index].videoId}); 
    } 
    if (keycode == '40') { 
     if(index > 0) { 
     index -= 1; 
     } else { 
     index = video_list.length-1; 
     } 

player.loadVideoById({'videoId': video_list[index].videoId}); 
    } 
}); 

Любая идея, как я могу активировать событие keyup при фокусировке видео?

ответ

0

Используйте document.activeElement , чтобы узнать, какой элемент сфокусирован, если это тег видео (или что вы используете), вызовите функцию, которая запускает видео.

+0

Я получаю предупреждение «KeyboardEvent.keyLocation» устарел. Вместо этого используйте «KeyboardEvent.location». и похоже, что iframe становится сфокусированным. – shanks

+0

Код, который вы указали, не содержит ничего о KeyboardEvent.keyLocation, но я что-то связал с e.which/e.keyCode, что вы подразумеваете под его фокусировкой? – Noctisdark

+0

Извините. при попытке распечатать document.activeelement он возвращает iframe youtube. – shanks