2012-10-01 7 views
12

Tengo una etiqueta html5 de video incrustada en la página. Necesito activar una acción cuando el usuario hace clic en el "Botón Reproducir". Pero no puedo encontrar cómo vincular eso a mi acción. ¿Hay algún evento para lo que necesito? Estoy usando jQuery ...¿Cuál es el evento de juego en un elemento de video html5?

Gracias!

+0

pero que desea desencadenar nuevo evento de clic de botón? ¿O desea enlazar al evento 'play' de'

Respuesta

21

¿Esta página de demostración de W3C ayuda? http://www.w3.org/2010/05/video/mediaevents.html Parece que el evento de juego es simplemente 'jugar'.

Por ejemplo:

$('video').bind('play', function (e) { 
    // do something 
}); 

o

$('video').on('play', function (e) { 
    // do something 
}); 
5

que utiliza código de la siguiente page y despojado:

<script language="javascript"> 
    document.addEventListener("DOMContentLoaded", init, false); 

    function init() { 
     var _video = document.getElementById("video"); 
     _video.addEventListener("playing", play_clicked, false); 
    } 

    function play_clicked() { 
     alert("play was clicked"); 
    } 
</script> 

<video id='video' 
    controls preload='none' 
    poster="http://media.w3.org/2010/05/sintel/poster.png"> 
    <source id='mp4' 
    src="http://media.w3.org/2010/05/sintel/trailer.mp4" 
    type='video/mp4'> 
    <p>Your user agent does not support the HTML5 Video element.</p> 
</video> 

esperaba poder ayudar.

+0

La página de demostración en su respuesta es muy buena y muestra los eventos y datos que se pueden recopilar del reproductor de video. –

2

HTML5 Event tiene un evento onplay al que puede llamar y que no requiere agregar un oyente. Si no desea utilizar JQuery, esta es una forma que funcionará con javascript puro.

var myVid = document.getElementById('videoId');  
if(myVid != null)//if possibility of no video loaded in DOM 
{ 
    myVid.onplay = function() { 
     //do something 
    }; 
} 
Cuestiones relacionadas