【发布时间】:2013-09-24 10:48:15
【问题描述】:
我试图准确了解 jQuery 事件何时以及如何在 Backbone.View 中绑定。 如果我有意见:
var MyView = Backbone.View.extend({
events: {"click" : "handler"}
});
backbone 会在调用 render() 时绑定 click 事件吗?在附加身体?还有什么?
【问题讨论】:
标签: backbone.js
我试图准确了解 jQuery 事件何时以及如何在 Backbone.View 中绑定。 如果我有意见:
var MyView = Backbone.View.extend({
events: {"click" : "handler"}
});
backbone 会在调用 render() 时绑定 click 事件吗?在附加身体?还有什么?
【问题讨论】:
标签: backbone.js
调用初始化后绑定事件处理程序。这里是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);
一个具体的例子,监听视图元素上的点击事件,并将一个带有加载更多类的按钮的点击委托给一个处理程序:
this.$el.on("click", ".load-more", function(){});
【讨论】: