将Backbone事件与HTML5视频播放事件结合使用
Using Backbone Events with HTML5 video playback events
我正在尝试使用主干来侦听视频何时结束,但返回了undefined is not a function
。
一旦视频结束,尝试从主干视图中调用另一种方法:
playIOS: function() {
var $video = $('video'),
video = $video.get(0);
video.play();
this.listenTo( video, 'ended', this.videoEnded );
},
videoEnded: function() {
alert( 'Video Ended!' );
}
很明显,我的方法不起作用。是否有推荐的使用Backbone监控媒体播放事件的解决方案?
listenTo
方法仅适用于骨干对象(Model
、Collection
…)和内部骨干事件(如add
、remove
等)。尽管您可以使用自定义事件扩展该事件列表,但是它们仍然只能绑定到主干对象。
ended
是一个DOM事件,因此它的侦听器应该由DOM方法(addEventListener
或其jQuery等价物)绑定。在Backbone中,您可以使用View的事件哈希来实现此目的。
所以你的代码可能看起来像这样:
var MyVideo = Backbone.View.extend({
el: '#video',
events: {
"ended": "videoEnded"
},
videoEnded: function() {
alert( 'Video Ended!' );
}
});
其中CCD_ 9是引用DOM中已经存在的CCD_。
简单。。
var video = document.getElementsByTagName('video')[0];
video.onended = function(e) {
// your method which is to be called
};
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- javascript结合了数组和字典
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 结合onmouseover事件和<a>标签
- 将Backbone事件与HTML5视频播放事件结合使用
- 使用 Jquery 读取 XML 文件,如何将其与服务器发送事件相结合并保持页面最新
- 将 JavaScript 计时器与 signalR 事件结合使用来检查新数据
- jQuery鼠标后跟事件与元素动画相结合
- 结合轻击和双重轻击离子事件
- 将内联onclick事件与jquery onclick事件相结合
- 在javascript中结合for循环和定时事件
- 与事件驱动设计相结合的回调get函数
- 将承诺与事件结合起来
- 如何将点击监听器与提交事件函数结合起来?
- XPage事件onStart和onComplete与dojo.connect结合使用
- URL中的某些散列与页面上的点击事件相结合