2017-12-24 8 views
1

にリスニングにonKeyDown私は、videoタグ でOnKeyDownイベントをトリガしたいと思います。しかし、私はそれは私が私が...挨拶を理解し、私を助けることを願って何の結果を与えない参照してください。Javascriptがタグビデオ

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

これは私のコードです。

+0

あなたはこれでは何のブラウザを使用していますか? KeyboardEventのイベントa)は非推奨およびb)あなたがあなたのコードをテストしているブラウザによって異なる扱い。https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode – cwanjt

+0

こんにちはありがとう答えるために。私はChromeで作業していますが、その目的はビデオタグに焦点を当て、さまざまなタスクを実行することです... – Clever

答えて

0

問題は、このラインconsole.log('code 65') break;です。予期しない構文がスローされます。このデモで

選択/ tab key.Onceを使用してビデオ要素を集中するそれはあなたが、私が許した場合、イベントがトン

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メソッドのアクションをトリガすべき場所があることを次のようです。

0

<video>要素をマウスでクリックした後にキーボードイベントが反応するようにするには、入力フォーカスを明示的に設定して、既存のロジックがkeydownイベントを処理できるようにする必要があります。

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

しかし、視覚<video>要素が選択を示すために強調表示され、ユーザが<video>要素の選択部分を通って、次にタブフォーカス意志サイクルを押下することに注意してください。

​​を全体としてdocumentに送信する可能性があります。そのため、実際のユーザーがイベントを取得する場所を心配する必要はありません(ただし、ページに他の入力フィールドがある場合、追加の合併症を追加するかもしれない)