backbone js学习笔记第一篇之EVENTS

backbone的events事件可以借助underscore中的extend函数将任何对象都赋予可以绑定事件的能力。

熟悉jquery事件的开发者对于这里的events绑定应当很容易理解。

这里只提供几个额外的示例。

  1. 混入示例
  2. all的特殊绑定

混入:

1.不传入事件回调参数

//不传入事件回调参数
var obj={};
_.extend(obj,Backbone.Events);
obj.on('show',function(){
  alert('hahaha,binding show event for obj');
});
obj.trigger('show');

2.传入事件回调参数

1 var listView=new ListView();
2 // listView.render();
3 var obj={};
4 _.extend(obj,Backbone.Events);
5 obj.on('show',function(msg){
6   alert(msg);
7 });
8 obj.trigger('show','hahaha,binding show event for obj');

特殊事件all:

all是一个比较特殊的事件。如果为对象绑定了其他事件的同时,也绑定了all事件,那么每次触发其它事件之后都会默认地触发all事件。

示例:

 1 var obj={};
 2 _.extend(obj,Backbone.Events);
 3 // 注释掉all事件,注意前后的结果对比
 4 obj.on('all',function(){
 5   alert('all events');
 6 });
 7 obj.on('events1',function(){
 8   alert('events1');
 9 });
10 obj.on('events2',function(){
11   alert('events2');
12 });
13 obj.on('events3',function(){
14   alert('events3');
15 });
16 
17 obj.trigger('events1');
18 obj.trigger('events2');
19 obj.trigger('events3');

 

posted @ 2013-04-15 11:29  xmlovecss  阅读(285)  评论(0编辑  收藏  举报