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