2010-05-28 40 views
6

我試圖對video標記的HTML 5 onended事件做出反應,但沒有成功。在下面的代碼片段中,我添加了mouseleave事件以確保jQuery代碼正確,並且該事件確實激活了alert()框。HTML 5視頻已停播不支持的事件

視頻播放還不錯,但我沒有收到onended事件(我的alert()未觸發)。

在Chrome中進行測試,今日更新至版本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> 

回答

17

確保您綁定到ended事件,而不是onended,要始終保持on出與jQuery結合時,例如,你不能這樣做.on("onclick"),你會做.on("click")

如果有幫助,有可用的事件爲<video>元素在這裏的完整列表:http://www.w3.org/2010/05/video/mediaevents.html

+1

另外請記住,事件不會在ie9 mobile for Windows Phone Mobile上被解僱。 – Timo 2012-05-03 12:26:50

+1

兩年後,它仍然是草稿規範草稿編輯草案2012年6月26日 – 2012-07-05 01:18:18

+1

使3年後:編輯草案2013年7月30日 – 2013-07-30 10:55:06

2

我太尋找答案此。下面是我爲jQuery移動框架所發揮的作用:

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