2013-11-22 28 views
0

我看了一些使用Backbone库的JavaScript代码。Backbone.view.extend:如何声明事件?

var parent = Backbone.view.extend({ 
events: { 
     'click .trolley-total button': 'validateAndconfirm', 
    }, 
}) 

什么的含义是 “点击.trolley-总按钮”线在这里。

莫非具有类=“手推车计”的任何部分(如DIV), 因此,如果在该部分中的任何按钮被点击不是执行validateAndconfirm动作。

如果是

然后可以有许多按钮进入部分,会是宣布这样一个好的做法呢?

回答

2

是的,您对该事件的处理方式是正确的,第一个词是要监听的事件名称,而其他所有内容都是可选过滤器,用于选择监听器。这一事件的声明被变成了类似的东西

parent.$el.on("click", ".trolley-total button", parent.validateAndConfirm);

与回调一些结合。

运行时,类别为trolley-total的任何元素中的任何按钮在点击时都会触发,没有限制。

至于良好的做法,它取决于其余视图的复杂性和布局。通常使用类选择器是不可取的。如果你只有一个按钮,也许直接添加一个ID,并且更快。

+0

事件绑定到传递给视图的'$ el'元素,所以任何事件侦听器只会侦听视图本地的事件。见[这里](http://backbonejs.org/docs/backbone.html#section-127) – Bojangles