ho un elemento <video>
sulla mia pagina:HTML5 dell'evento video timeupdate non sparare
<video id="myVideo">
<source src="vid.mp4" type="video/mp4" />
<source src="vid.ogg" type="video/ogg" />
</video>
Nei miei JS si legge:
var v = $('#myVideo')[0];
v.addEventListener('timeupdate',function(){
alert('I changed');
},false);
ora voglio accendere la console e digitare:
$('#myVideo')[0].currentTime = 2;
La cornice visualizzata cambierà, ma l'evento non si attiva. Secondo le specifiche timeupdate
dovrebbe sparare quando currentTime was changed
, quindi non penso che sto usando l'evento sbagliato? Tutti gli altri eventi che sto utilizzando (ad esempio play
& ended
) funzionano correttamente.
Ci sono un sacco di domande simili là fuori, eppure tutte quelle sembrano bug obsoleti? Questo è un altro bug (ho provato in Chrome 17 e FF10) o qualcosa è cambiato nella struttura dell'evento? O mi manca qualcosa di completamente diverso?
MODIFICA: Ho appena notato che questo problema si verifica solo quando il video non è ancora stato riprodotto. Quindi quando lo faccio:
$('#myVideo')[0].play();
$('#myVideo')[0].pause();
$('#myVideo')[0].currentTime = 2;
L'evento si attiva come dovrebbe.
Quindi non c'è modo di rilevare se l'indicatore di riproduzione di un video è stato spostato prima che il video sia stato avviato per la prima volta? – m90
forse stiamo parlando a scopi incrociati, ma come si può cercare un video, che non è stato caricato (o sta caricando) già? i tuoi comandi vengono mostrati sempre? hai un breve esempio per quel caso ?! .. forse questo sito aiuta anche: http: //www.w3.org/2010/05/video/mediaevents.html elenco di tutti gli eventi in un esempio dal vivo.cercato potrebbe essere il tuo attributo ?! – longilong
Questo potrebbe essere un po 'complicato, ma vedi: http://goo.gl/uJyod - potresti voler mostrare l'elemento '