zoukankan      html  css  js  c++  java
  • 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,这样就可以在视图中给不同元素添加不同的事件了。

  • 相关阅读:
    第七章 过滤器 Filter(二)
    第七章 过滤器基础 Filter
    学了近一个月的java web 感想
    js写的一个简单的手风琴菜单
    第六章 对象作用域与servlet事件监听器
    第五章 Web应用程序状态管理
    第四章 使用Servlet处理HTTP请求
    第三章 使用Servlet处理HTTP响应
    第二章 Servlet基础
    myeclipse解决Fail to create the java Virtual Machine
  • 原文地址:https://www.cnblogs.com/smartyu/p/5091860.html
Copyright © 2011-2022 走看看