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,这样就可以在视图中给不同元素添加不同的事件了。

  • 相关阅读:
    Sql Server Profiler使用
    用PowerDesign反向生成数据库Sql语句问题
    使用PowerDesign15反向生成数据库
    离线安装Sharepoint工具
    开发Windows服务
    Windows Server 2008 R2 安装域
    Entity Framework执行Sql语句返回DataTable
    GO 学习资源收集
    Ubuntu常用命令大全
    MVC MVC3中 ViewBag、ViewData和TempData的使用和区别 【转】
  • 原文地址:https://www.cnblogs.com/smartyu/p/5091860.html
Copyright © 2011-2022 走看看