Backbone View - jquery事件绑定

时间:2013-09-24 10:48:15

标签: backbone.js

我试图准确理解jQuery事件在Backbone.View中何时以及如何绑定。 如果我有一个观点:

var MyView = Backbone.View.extend({ events: {"click" : "handler"} });

主干会在调用render()时绑定click事件吗?附加身体?还有别的吗?

1 个答案:

答案 0 :(得分:2)

调用initialize后绑定事件处理程序。这是source code,请注意delegateEvents方法:

var View = Backbone.View = function(options) {
    this.cid = _.uniqueId('view');
    this._configure(options || {});
    this._ensureElement();
    this.initialize.apply(this, arguments);
    this.delegateEvents();
};

delegateEvents方法然后有这样的jQuery代码:

this.$el.on(eventName, selector, method);

一个具体示例,在视图元素上侦听单击事件,并将具有load-more类的按钮的点击委托给处理程序:

this.$el.on("click", ".load-more", function(){});