2012-06-12 8 views
5

Ich verwende ein Video-Tag und binde es bind oder live. In beiden Fällen funktioniert es nicht. Unten ist mein Code Kann etwas falsch machen und nicht fangen.Ich bin nicht in der Lage, die Videoereignisse mit Jquery zu binden

  <video width="videoWidth" 
      height="videoHeight" 
      poster="../Poster/poster.png" 
      id="videoId" 
      controls="controls" 
      muted="true"  
      seeking="true" 
      paused="true" > 

      <source src="../video/trailer.mp4" type="video/mp4"/>    
      <source src="../video/trailer.ogv" type="video/ogv"/> 
      <source src="../video/trailer.webm" type="video/webm"/> 
       Your browser does not support the video tag. 
      </video> 

Hier ist die JS-Datei enthalten für die Bindung der Ereignisse.

$("#videoId").bind('ended',function() { 
      alert("Entered"); 
     }); 

UPDATE

ich vorherige JS bin Aktualisierung und nun seine Arbeits für alle Video Events.Now ich Fehler Ereignis stucked wo Ereignis auf Ereignis-Basis wird Feuer code.May sein ich falsch bin beim Schreiben der Code aber Fehler Ereignis nicht working.Below ist mein JS

$(document).ready(function(){ 
     $("#videoId").bind('play',function() { 
      alert("Play"); 
     }); 

     $("#videoId").bind('canplay',function() { 
      alert("Can Play"); 
     }); 

     $("#videoId").bind('empited',function() { 
      alert("Empited"); 
     }); 

     $("#videoId").bind('ended',function() { 
      alert("Ended"); 
     }); 

     $("#videoId").bind('loadstart',function() { 
      alert("Load Start"); 
     }); 

     $("#videoId").bind('pause',function() { 
      alert("Pause"); 
     }); 

     $("#videoId").bind('playing',function() { 
      alert("Playing"); 
     }); 

     $("#videoId").bind('progress',function() { 
      alert("Progress"); 
     }); 

     $("#videoId").bind('suspend',function() { 
      alert("Suspend"); 
     }); 

     $("#videoId").bind('volumechange',function() { 
      alert("Volume"); 
     }); 

     $("#videoId").bind('waiting',function() { 
      alert("waiting"); 
     }); 
     $("#videoId").bind('error',function(e,ui) { 
      switch (e.target.error.code) { 
      case e.target.error.MEDIA_ERR_ABORTED: 
       alert('You aborted the video playback.'); 
       break; 
      case e.target.error.MEDIA_ERR_NETWORK: 
       alert('A network error caused the video download to fail part-way.'); 
       break; 
      case e.target.error.MEDIA_ERR_DECODE: 
       alert('The video playback was aborted due to a corruption problem or because the video used features your browser did not support.'); 
       break; 
      case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED: 
       alert('The video could not be loaded, either because the server or network failed or because the format is not supported.'); 
       break; 
      default: 
       alert('An unknown error occurred.'); 
       break; 
      } 
      //alert("Error Code : "+event.target.error.code); 
     }); 

     }); 

In Console sind immer 'Get'. mit

+0

Das sollte funktionieren. Wird der Code in einem DOM-fähigen Ereignishandler ausgeführt? –

+0

irgendwelche Fehler in der Konsole? – Neil

+0

Ja, es funktioniert in DOM ready Handler. –

Antwort

3

Dieses auf dem Videoelement alle Objekte in dem Fehlerobjekt alarmieren

$("video").on("error", function(err) { 
    for (var i in err.currentTarget.error) { 
     alert(i + ": " + err.currentTarget.error[i]); 
    } 
}); 
Verwandte Themen