backbone.js绑定到音频事件



如何做到这一点?我搜索了Stack Overflow,找到了一个类似的结果,但它不起作用。

这是我的代码:

var Player = Backbone.Model.extend({
    defaults: {
        //some variables
    },
    //creating audio element
    setAudio: function(ogglink, mp3link){
        //code, that works
    }
});     
var Playlist = Backbone.Collection.extend({ 
    model: Player
});
var MyPlaylist = new Playlist([ 
    //some songs here
]);    
var OneSongView = Backbone.View.extend({     
    //added some 'template' and 'el' code
    initialize: function () {
        this.model.bind("change", this.render, this);   
    },
    render: function (eventName) {
        $(this.el).html(this.template(this.model.toJSON()));
        this.model.setAudio(this.model.get("ogglink"), this.model.get("mp3link"));
        return this;
    },
    events: {
        //declaration of some events
    },
    //event functions
});    
var AppRouter = Backbone.Router.extend({
    //router code
});    
var app = new AppRouter();
Backbone.history.start();

如果我添加类似timeupdate:somefunc的事件,它将不起作用,如果我添加像这里这样的代码,我将出现错误:(

所有Backbone.View事件处理程序都委派给视图的el。这意味着,在处理程序捕捉到视图内部激发的任何事件之前,它们必须冒泡/传播到其el

不幸的是,HTML5音频和视频元素不像大多数其他元素那样通过DOM向上传播它们的事件。处理这些事件的唯一方法是在<audio>元素插入DOM后直接向其添加eventListener。

最新更新