HTML5-video-timeupdate event nicht gefeuert wird.

Ich habe ein <video> element auf meiner Seite:

<video id="myVideo">
    <source src="vid.mp4" type="video/mp4" />
    <source src="vid.ogg" type="video/ogg" />
</video>

In meiner JS es liest:

var v = $('#myVideo')[0];
v.addEventListener('timeupdate',function(){
   alert('I changed');
},false);

Jetzt werde ich Feuer auf meiner Konsole und geben Sie:

$('#myVideo')[0].currentTime = 2;

Des angezeigten Bilds ändern wird, aber das Ereignis wird nicht ausgelöst. Nach den Angaben timeupdate Feuer sollte, wenn currentTime was changed, also ich denke nicht, ich bin mit der falschen Veranstaltung? Alle anderen Ereignisse, die ich verwende (d.h. play & ended) funktioniert ganz gut.

Gibt es viele ähnliche Fragen gibt, doch alle diese zu sein scheinen veraltet bugs? Ist das noch ein bug (ich habe das getestet in Chrome 17 und FF10) oder war da auch nichts ändern in der event-Struktur? Oder übersehe ich hier etwas ganz anderes?

EDIT:
Ich habe gerade festgestellt, dass dieses problem nur auftreten, wenn das video noch nicht gespielt. Also, wenn ich tun:

$('#myVideo')[0].play();
$('#myVideo')[0].pause();
$('#myVideo')[0].currentTime = 2;

Das Ereignis wird ausgelöst, genau wie es sein sollte.

InformationsquelleAutor m90 | 2012-03-19

Schreibe einen Kommentar