backbone js学习笔记第一篇之EVENTS
backbone的events事件可以借助underscore中的extend函数将任何对象都赋予可以绑定事件的能力。
熟悉jquery事件的开发者对于这里的events绑定应当很容易理解。
这里只提供几个额外的示例。
- 混入示例
- 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');