我正在阅读一个教程,该教程建议可以通过如下视图捕获事件:
var View = Backbone.View.extend({
el: $('#element'),
events: {},
render: function(){}
});
似乎没有与此事件对象关联的任何文档。它已被弃用还是已过时?或者我只是找错地方了:http: //backbonejs.org/
我正在阅读一个教程,该教程建议可以通过如下视图捕获事件:
var View = Backbone.View.extend({
el: $('#element'),
events: {},
render: function(){}
});
似乎没有与此事件对象关联的任何文档。它已被弃用还是已过时?或者我只是找错地方了:http: //backbonejs.org/
delegateEvents delegateEvents([events])
使用 jQueryon
函数为视图中的 DOM 事件提供声明性回调。如果未直接传递事件哈希,则this.events
用作源。事件以{"event selector": "callback"}
. 回调可以是视图中方法的名称,也可以是直接的函数体。省略选择器会导致事件绑定到视图的根元素 (this.el
)。默认情况下,delegateEvents
在 View 的构造函数中为您调用,因此如果您有一个简单的事件哈希,您的所有 DOM 事件将始终已连接,您将永远不必自己调用此函数。events 属性也可以定义为返回事件哈希的函数,以便更容易以编程方式定义事件,以及从父视图继承它们。
与手动使用 jQuery 在渲染期间将事件绑定到子元素相比,使用
delegateEvents
提供了许多优势。所有附加的回调在传递给 jQuery 之前都绑定到视图,因此当调用回调时, this 继续引用视图对象。再次delegateEvents
运行时,可能使用不同的事件哈希,所有回调都将被删除并重新委托 - 对于在不同模式下需要表现不同的视图很有用。