2012-06-12 46 views
5

我正在使用視頻標籤並使用綁定或實時綁定。在這兩種情況下,它都不起作用。下面是我的代碼可能是我做錯了什麼,並且無法抓住它。無法使用jquery綁定視頻事件

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

這裏是用於綁定事件的JS文件include。

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

UPDATE

我更新之前的JS,現在它爲所有視頻Events.Now工作我在錯誤事件stucked這裏事件將觸發基於事件code.May是我錯了,而寫作的代碼,但錯誤事件不working.Below是我的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); 
     }); 

     }); 

在控制檯中我得到「獲取」。

+0

這應該工作在錯誤對象的所有對象。您的代碼是否在DOM準備好的事件處理程序中運行? –

+0

控制檯中的任何錯誤? – Neil

+0

是的,它的工作在DOM準備處理程序。 –

回答

3

這將提醒視頻元素

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