Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将主干事件与HTML5视频播放事件一起使用_Javascript_Html_Backbone.js_Video_Playback - Fatal编程技术网

Javascript 将主干事件与HTML5视频播放事件一起使用

Javascript 将主干事件与HTML5视频播放事件一起使用,javascript,html,backbone.js,video,playback,Javascript,Html,Backbone.js,Video,Playback,我试图使用主干线来监听视频结束时的内容,但我得到的未定义不是返回的函数 视频结束后,尝试从主干视图中调用其他方法: playIOS: function() { var $video = $('video'), video = $video.get(0); video.play(); this.listenTo( video, 'ended', this.videoEnded ); }, videoEnded: function() { aler

我试图使用主干线来监听视频结束时的内容,但我得到的
未定义不是返回的函数

视频结束后,尝试从主干视图中调用其他方法:

playIOS: function() {
    var $video = $('video'),
        video = $video.get(0);
    video.play();

    this.listenTo( video, 'ended', this.videoEnded );
},

videoEnded: function() {
    alert( 'Video Ended!' );
}
显然,我的方法不起作用。是否有推荐的解决方案可用于监控主干网的媒体播放事件?

简单

var video = document.getElementsByTagName('video')[0];
    video.onended = function(e) {
     // your method which is to be called
    };
方法仅适用于主干对象(
模型
集合
,…)和内部(例如
添加
删除
等)。尽管可以使用自定义事件扩展该事件列表,但它们仍然只能绑定到主干对象

end
是一个DOM事件,因此它的侦听器应该由DOM方法(
addEventListener
或它的jQuery等价物)绑定。在主干网中,您可以使用视图来实现此目的

因此,您的代码可能如下所示:

var MyVideo = Backbone.View.extend({
    el: '#video',
    events: {
        "ended": "videoEnded"
    },
    videoEnded: function() {
        alert( 'Video Ended!' );
    }
});

其中,
#video
是指向DOM中已存在的
video
元素的选择器。

谢谢。我已经用过这个了。但我特别想知道主干网活动是否可行?没问题。但我能知道为什么这只能通过主干网来完成吗?只是好奇。事实上,这也是我的理由。我也很好奇。我最初尝试使用主干事件,与我的应用程序的其余部分保持一致。当我无法让它工作时,我无法(现在仍然无法)理解为什么。我正试图了解更多关于这种主干方法和视频的工作原理。方法仅应用于内部主干事件(例如
添加
删除
等)
ended
是一个DOM事件,因此它的侦听器应该由
addEventListener
或其jQuery等价物绑定。在主干中,您可以使用视图。谢谢。这其实就是我一直在寻找的答案!