Backbone.View.extend - 事件哈希

时间:2013-05-02 12:44:27

标签: javascript json backbone.js

我正在阅读一个教程,建议可以通过以下视图捕获事件:

var View = Backbone.View.extend({
   el: $('#element'),
   events: {},
   render: function(){}
});

似乎没有与此事件对象关联的任何文档。它已经被弃用了还是已经过时了?或者我只是找错了地方:http://backbonejs.org/

1 个答案:

答案 0 :(得分:3)

来自View.delegateEvents

  

delegateEvents delegateEvents([events])
  使用jQuery的on函数   为视图中的DOM事件提供声明性回调。如果   事件哈希不直接传递,使用this.events作为源。   事件以{"event selector": "callback"}格式编写。该   回调可以是视图上方法的名称,也可以是直接   功能体。省略选择器会导致事件被绑定   视图的根元素(this.el)。默认情况下,delegateEvents是   在View的构造函数中为你调用,所以如果你有一个简单的   事件哈希,所有DOM事件将始终已连接,   你永远不必自己调用这个函数。

     

events属性也可以定义为返回的函数   事件哈希,以便更容易以编程方式定义您的事件,   以及从父视图继承它们。

     

使用delegateEvents提供了许多优于手动的优势   在渲染过程中使用jQuery将事件绑定到子元素。所有   附加的回调在被移交之前绑定到视图   jQuery,所以当调用回调时,这将继续引用   视图对象。再次运行delegateEvents时,可能会使用   不同的事件哈希,所有回调都被删除并重新委托    - 对于在不同时需要表现不同的视图非常有用   模式。