2012-10-01 22 views
12

Mam tag HTML HTML5 osadzony na stronie. Muszę wywołać akcję, gdy użytkownik kliknie "Przycisk odtwarzania". Ale nie mogę znaleźć sposobu na powiązanie tego z moim działaniem. Czy istnieje wydarzenie, którego potrzebuję? Używam jQuery ...Co jest wydarzeniem w grze na element wideo html5?

Dzięki!

+0

Ale chcesz wywołać nowe zdarzenie po kliknięciu przycisku? Lub chcesz powiązać ze zdarzeniem 'play'' '

Odpowiedz

21

Czy ta strona demo W3C pomaga? http://www.w3.org/2010/05/video/mediaevents.html Wygląda na to, że wydarzenie odtwarzania jest po prostu "odtwarzane".

Na przykład:

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

lub

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

użyłem kod z poniższego page i pozbawiono go:

<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> 

nadzieję, że uda mi pomóc.

+0

Strona demonstracyjna w twojej odpowiedzi jest całkiem fajna i pokazuje zdarzenia i dane, które można zebrać z odtwarzacza wideo. –

2

Wydarzenie HTML5 ma zdarzenie, które można wywołać, ale nie wymaga dodania detektora. Jeśli nie chcesz używać JQuery, oto sposób, który będzie działał z czystym javascript.

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