Я создаю веб-платформу для воспроизведения видео, и мне нужен полный контроль над поведением воспроизведения тегов видео.В частности, я хочу реализовать свою собственную функцию очистки.Для этого я хочу отключить нативное поведение, чтобы пропустить воспроизведение видео-тегов в фокусе, нажимая «стрелка влево», «стрелка вправо» и «пробел», и сделать свой собственный контроль клавиатуры.
Я реализовалглобальная функция нажатия клавиш, позволяющая управлять видеопроигрывателем из любого места:
window.addEventListener('keyup', this.keyboardControl);
Чтобы остановить фокусировку видеопроигрывателя и реагировать на нажатия клавиш самостоятельно, я попытался переписать обработчики следующим образом:
let video = document.getElementById('video');
video.addEventListener("keydown", function(event){
event.preventDefault();
});
video.addEventListener("keypress", function(event){
event.preventDefault();
});
video.addEventListener("keyup", function(event){
event.preventDefault();
});
Чтобы удалить прослушиватели событий с target.removeEventListener(type, listener[, options]);
, мне нужно знать имя собственной функции, которая выполняется, и я думаю, что она варьируется от браузера к браузеру.
Isесть способ?Спасибо, связки!
РЕДАКТИРОВАТЬ: я использую атрибут "элементы управления" в моем теге видео.Если бы я удалил его, он работает, но также теряет элементы управления GUI, которые мне нужны.Кроме того, это происходит во всех тестах, которые я могу протестировать (Chrome, FF, Safari).