Javascript onkeydown прослушивания на видео тег

1

Я хотел бы вызвать событие onkeydown в теге видео. Но я вижу, что это не дает мне никаких результатов. Надеюсь, я понимаю и могу помочь мне... приветствия.

document.querySelector("video").onkeydown = function (e){  
  switch(e.keyCode){
     case 65:
     console.log('code 65')
    break;  
  } 
}

Это мой кодекс.

  • 0
    В каком браузере вы используете это? Событие KeyboardEvent а) устарело и б) обрабатывается по-разному в зависимости от браузера, в котором вы тестируете свой код. Developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
  • 0
    Здравствуйте, спасибо за ответ. Я работаю над Chrome, намерение сосредоточиться на теге видео и выполнять различные задачи ...
Теги:
video

3 ответа

0

Если вы хотите, чтобы события клавиатуры реагировали после щелчка мышью на элементе <video>, вам необходимо явно установить фокус ввода, чтобы ваша существующая логика могла обрабатывать события смены ключа.

document.getElementById("play-video").onmousedown = function (e){ 
    console.log("focus now on video")
    document.getElementById("play-video").focus()
}

Однако имейте в виду, что визуально элемент <video> будет подсвечен для указания выбора, и если пользователь нажимает tab, тогда фокус будет циклически переключаться через выбираемые части элемента <video>.

Одним из возможных решений могло бы стать подведение keydown к document в целом, поэтому вам не нужно беспокоиться о том, где фактический пользователь фокусирует нас на получении событий (хотя, если у вас есть другие поля ввода на странице, которые могут добавить дополнительные осложнения)

0

Проблема заключается в том, что эта строка console.log('code 65') break; , Это вызовет неожиданный синтаксис.

В этой демонстрации выберите/сфокусируйте видео элемент с помощью клавиши tab После этого он выбирается тогда, и только тогда событие keydown может быть запущено на t

document.querySelector("video").onkeydown = function(e) {

  switch (e.keyCode) {
    case 65:
      console.log('code 65'); //Changed here
      break;c//Changed here
  }
}
<video width="320" height="240" controls>
  <source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
</video>
0

Если я прощу, вы должны сделать разрыв строки, не имея '; "Но Cuestien заключается в том, что фокус мыши, который вы должны быть в видео, и там, где вы должны активировать действие onkeydown.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню