我试图准确了解 jQuery 事件何时以及如何在 Backbone.View 中绑定。如果我有看法:
var MyView = Backbone.View.extend({
events: {"click" : "handler"}
});
主干会在调用 render() 时绑定点击事件吗?在附加身体?还有什么?
我试图准确了解 jQuery 事件何时以及如何在 Backbone.View 中绑定。如果我有看法:
var MyView = Backbone.View.extend({
events: {"click" : "handler"}
});
主干会在调用 render() 时绑定点击事件吗?在附加身体?还有什么?
调用初始化后绑定事件处理程序。这是源代码,注意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(){});