Backbone学习记录(7)

事件委托

    <form>
        <input type="text" class="txt">
        <input type="button" class="btn" value="确认">
    </form>
    <span class="input-data"></span>
    var FormView=Backbone.View.extend({
        el:‘form‘,
        events:{
            "blur .txt":"showdata",
            "click .btn":"click"
        },
        showdata:function(){
            console.log(this.$el);
        },
        click:function(){
            console.log("confirm");
        }
    });

    var form=new FormView();

这是一个很简单的事件委托的例子,新建了一个form的视图,把文本框的blur事件和按钮的单击事件都委托在form上。
测试结果,当输入字符串后鼠标离开焦点,控制台输出的是form这个jQ对象(如果是console.log(this.el),输出的自然是DOM原生的对象),但是怎么才能让this指向
对应的目标元素呢?

to be continue。。。

时间: 2024-08-08 19:11:42

Backbone学习记录(7)的相关文章

Backbone学习记录(6)

路由 backbone将路由规则和一个方法名绑定到一起,来控制单页的hash,以及单页的前进后退. var UserRouter = Backbone.Router.extend({ routes: { "": "main", "help": "help", // #help "search/:query": "search", // #search/page "search/

Backbone学习记录(5)

数据与服务器 var User=Backbone.Model.extend({ defaults:{ name:'susan', age:18 }, url:'/user'//数据提交的路径 }); var user=new User({name:'lily'}); user.save();//将数据保存到服务器 从这里可以看到,user.save()执行是将数据提交到了user.url. to be continue...

Backbone学习记录(4)

change事件:"change" (model, options) — 当attributes变化时"change:[attribute]" (model, value, options) — 当attributes的一个特定属性变化时listenTo事件:view.listenTo(model, 'change', view.render); 第一个参数是模块,第二个参数是事件类型,第三个参数是事件回调. change与listenTo的区别是后者改写了this

Backbone学习记录(1)

去年买的<基于MVC的javascript Web富应用开发>,拖到现在还没看完,作者介绍了三个MVC框架,Spine ,backbone和javascriptMVC.1和2在国内的流行度,不高,我就只打算学backbone了. backbone依赖于underscore.js,所以在引入的时候需要先引underscore -_-#=>  Uncaught TypeError: Cannot call method 'each' of undefined Backbone对象 conso

Backbone学习记录(3)

创建视图 同前面创建模型和集合的方式一样,Backbone.View.extend()即可创建视图 var UserView=Backbone.View.extend(); var view1=new UserView(); 生成的实例是这样一个对象,el应该是js原生的对象,$el应该是jQuery对象,很方便,不需要我再去$(el).验证一下: view1.el.innerText="111"; //"111" view1.$el //[<div>?

Backbone学习记录(2)

创建一个集合 var User=Backbone.Model.extend({}); var List=Backbone.Collection.extend({model:User}); 为集合添加模型1.new 时添加 var User=Backbone.Model.extend({}); var List=Backbone.Collection.extend({model:User}); var user1=new List({'name':'susan'}); var user2=new

Backbone 学习笔记

Backbone 是一款基于模型-视图-控制器 MVC 模式的轻量级javascript 框架 ,可以用来帮助开发人员创建单页Web应用. 借助Backbone 我们可以使用REST的方式来最小化客户端和服务器间的数据传输,从而实现了更快加速的Web页面更新. 能心静下来学习了,以前以为Backbone 是一座高山用起来很难,结果只是学了2天就有一些新的,实在让人开心. 我整理了一下整个BackBone的学习记录在我的GIT里面,大部分事件都有例子并且有详细的注解和解释,结合require.js

Python学习记录-2016-12-17

今日学习记录 模块: import os#导入os模块 import sys#导入sys模块 os.system("df -h")#执行df -h命令 cmd_res = os.popen("df -h").read()#将命令的返回结果赋值给cmd_res,如果不加入.read()会显示命令的返回加过在内存的位置 print(sys.path)#显示系统变量路径,一般个人模块位于site-packages下,系统模块位于lib下 print(sys.argu[2]

Objc基础学习记录5

NSMutableString类继承的NSString类. NSMutableString是动态的字符串. 1.appendingString 方式: 向字符串尾部添加一个字符串. 2.appendingFormat:可以添加多个类型的字符串. int,chat float,double等 3.stringWithString 创建字符串, 4.rangeOfString 返回str1在另一个字符串中的位置. 5.NSMakeRange(0,3) 字符串0位到3位. 6.deleteCharac