Backbone Events 事件
Backbone可以给自定义对象绑定事件,利用trigger手动触发事件,并且可以传参。
var obj = {}; _.extend(ob,Backbone.Events); //扩展backbone event事件 obj.on('event',function(msg){ //给obj对象绑定event事件 alert('event'+msg); }); obj.trigger('event',"触发") //手动触发obj的event事件
On 事件
类似于jquery的绑定事件,如果有不同的事件,可以通过冒号来命名
var Model = Backbone.Model.extend({
});    //建立一个模型
var obj = new Model;   
obj.on('change:name', function() {    //给obj添加绑定事件 xxxx:xxxx
	alert('I hava changed!')
})
obj.trigger('change:name');  //手动触发obj的绑定事件
还有一个特殊的事件——all,绑定all事件时任何事件都能触发这个事件。
obj.on('all', function() {
	alert('I have occured!')
})
Off 事件
取消on绑定事件
obj.off('change:name');
obj.off('all');
obj.off('change:name');  //删除模型上的所有事件
Once 事件
只能触发一次。
listenTo 事件
让一个对象监听另一个对象上的事件
var Model = Backbone.Model.extend({
});
var obj = new Model;
obj.on('change:name', function() {
	alert('I hava changed!')
})
var obj2 = new Model;
obj2.listenTo(obj,'change:name',function(){
	alert('已监控到obj事件触发');
})
obj.trigger('change:name');
stopListening 事件
停止监听事件
obj2.stopListening();
listenToOnce 事件
同理,执行一次就被移除啦。
在视图中增加点击事件代码
var ClickView = Backbone.View.extend({
	el:'body',
	events:{
		'click #test':'alert'
	},
	alert:function(){
		alert('alert');
	}
})
var view = new ClickView();
给id为test的元素加点击事件alert,这样就可以在视图中给不同元素添加不同的事件了。
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号