事件委托
<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指向
对应的目标元素呢?
=======================================
今天想到可以
showdata:function(){
console.log(event.target.value);
}
来获取目标对象上的属性,但是我每次获取属性或者设置属性都要这么麻烦么??