在html5video结束时执行function

我有一个HTMLvideo,我想在video结束时运行一个function。 我尝试了以下但我什么都没得到:

$(document).ready(function(){ $('video').live('ended',function(){ alert('video ended'); }); }); 

任何想法为什么这不会在video结束时触发? 或者我没有提供足够的信息来回答这里的任何问题?

注意:我使用live()函数而不是on()因为需要jQuery 1.7和这个项目。

为了您的粘贴和复制乐趣jQuery解决方案:

    
          

使用onended事件

 var video = document.getElementsByTagName('video')[0]; video.onended = function(e) { alert('video ended'); } 

阅读有关HTML5video和音频需要了解的所有内容

您可以尝试以下方法:

 $(document).on('ended', 'video', function (e) { alert('video ended'); }); 

你说在加载DOM 之后动态插入video。 在此脚本中,您在DOM上搜索video元素,并将其与已ended函数绑定。

这是.on()的文档。
这是动态项目的SO问题。

我希望这有帮助!

我管理它的唯一方法是使用以下代码:

 $('video')[0].on('ended',function(){ console.log('Video has ended!'); }); 

你可以在现场使用。 因为jquery新版本支持on方法,所以在新版本中不推荐使用live。

您可以将代码替换为此代码,您的问题将得到解决。

 $(document).ready(function(){ $('video').on('ended',function(){ alert('video ended'); }); 

});