HTMLVideoElement keydown行为

时间:2019-04-20 17:41:48

标签: javascript html5-video

我对keydown上的html5视频行为感到困惑。似乎受controls属性的影响。

首先,如果我设置了controls属性,则浏览器似乎不尊重preventDefault()。因此,下面的代码仅调用pause,然后立即调用play,基本上什么也没做。

<video controls id="v1" src="./video.mp4"></video>
<script>
  const v1 = document.getElementById('v1')
  v1.addEventListener('keydown', event => {
    if (event.keyCode === 32) { // space
      if (v1.paused) v1.play()
      else v1.pause()
      event.preventDefault() // this not working
    }
  })
</script>

第二,如果我未设置controls属性,则浏览器根本不会触发keydown事件。

<video id="v2" src="./video.mp4"></video>
<script>
  const v2 = document.getElementById('v2')
  v2.addEventListener('keydown', event => {
    throw new Error('Fire me please ...') // this not throwed
  })
</script>

我在那里想念什么?

PS :我正在使用Chromium版本73.0.3683.103

0 个答案:

没有答案