backbone的view.events中绑定事件

绑定事件的时候必定要先在render中去渲染一下。要否则没法使用events:{} ;来绑定事件。html

好比我想给#btn绑定click 事件   直接使用events:{ 'click #btn':''fn}是不能绑定上的。this

绑定成功的代码:spa

var V2 = Backbone.View.extend({
        el: $('.container'),
        html:$('.container').html(),
        initialize: function () {
            this.listenTo(this.model, 'change', this.render);
        },
        events: {
            "click #btn" : "fn"
        },
        render:function (){
            this.$el.html(this.html);
            this.delegateEvents();  //从新绑定一下因此的事件。以防出错
            return this;  //这里模仿了backbone 中的例子
        },
        fn: function (event) {
            console.log('v');
        }
    });

唉。刚接触backbone。第一次碰见的坑。不过仍是解决了。htm

相关文章
相关标签/搜索