0

HTML5とJavaScriptを使用してビデオインターフェイスWebを実行しています。

キーでビデオを制御する必要があるため、JavaScriptで問題が発生しているため、誰かがキーボードからキー(たとえば、「P」)を押すと、ビデオは「再生」または「一時停止」になります。 問題は、ChromeとOperaでは機能しないが、Firefoxでは機能することです。

以下の抜粋は、コード全体の一部です。

HTML:

<video width="775" id="player" preload controls timeupdate="timeupdate()"  onclick="repro()" onMouseOver="mostrarControles()" onMouseOut="ocultarControles()">
    <source src="video.mp4" type="video/mp4" />
    <source src="video.theora.ogv" type="video/ogg" />
    <source src="video.webmvp8.webm" type="video/webm" />
    TU NAVEGADOR NO SOPORTA VIDEO EN HTML5.
</video>
<div id="controls" onMouseOut="ocultarControles()" onMouseOver="mostrarControles()" >
    <!-- Buttons of control-->
</div>

Java.JS-ChromeとOperaで問題が発生した場合の機能:

document.getElementById("controls").addEventListener('keydown',function(event) {
    controlTeclado(event);
    //alert("OK");
}, true);

ChromeとOperaが内部にアクセスしないことを検出しましたが.addEventListener()、理由がわかりません。

ProgressBar.JS:

function controlTeclado(evento) {
    mostrarControles(); // show controls on the web page
    if (evento.keyCode==80) {
        alert(" Key: "+evento.keyCode);
        repro(); //play video
    }
}
4

1 に答える 1

0

<div>デフォルトでは、要素はキーイベントを受け取りません。フォーム入力やコンテンツ編集可能要素などのフォーカス可能な要素のみが実行されます。通常の<div>キーイベントを発生させるには、次のように割り当てますtabIndex(値0は、要素が通常のタブ順序になっていることを意味します)。

<div id="controls" tabindex="0"
        onMouseOut="ocultarControles()" onMouseOver="mostrarControles()">
    ...
</div>
于 2012-10-31T14:18:38.243 に答える