2010-05-28 11 views
6

Próbuję zareagować na zdarzenie HTML 5 onended dla tagu video bez powodzenia. W poniższym fragmencie kodu dodałem zdarzenie mouseleave, aby upewnić się, że kod jQuery jest poprawny i że zdarzenie aktywuje pole alert().HTML 5 Video OnEnded Event not Fireing

Film jest w porządku, ale nie otrzymuję zdarzenia onended (mój telefon nie jest uruchamiany).

Testowanie w Chrome, zaktualizowane do wersji 5.0.375.55.

<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#myVideoTag").bind('mouseleave onended', function(){ 
     alert("All done, function!"); 
    }); 
}); 

</script> 
</head> 
<body> 
<video id="myVideoTag" width="640" height="360" poster="Fractal-zoom-1-04-Snowflake.jpg" controls> 
    <source src="Fractal-zoom-1-04-Snowflake.mp4" type="video/mp4"></source> 
    <source src="Fractal-zoom-1-04-Snowflake.ogg" type="video/ogg"></source> 
</video> 

<body> 
<html> 

Odpowiedz

17

Upewnij się, że wiązanie się z imprezy zamiast onendedended, zawsze opuścić on się podczas wiązania z jQuery, na przykład nie można zrobić .on("onclick"), że zrobisz .on("click").

Jeśli to pomoże, istnieje pełna lista dostępnych zdarzeń dla elementu tutaj <video>: http://www.w3.org/2010/05/video/mediaevents.html

+1

Pamiętaj też, że wydarzenie to nie zostanie uruchomione na telefonie komórkowym ie9 dla systemu Windows Phone Mobile. – Timo

+1

Dwa lata później i nadal jest to wersja robocza 'Editor's Draft 26 czerwca 2012' –

+1

Zrobić to 3 lata później: Projekt Redaktora 30 lipca 2013 roku –

2

szukałem odpowiedzi na to zbyt. Oto, co działało dla mnie w przypadku platformy mobilnej jQuery:

$(document).ready(function(){ 
    $("#idname").bind('ended', function(){ 
    $.mobile.changePage($('#idofpageyouwantogoto'), 'fade'); 
    }); 
});