比如this.ele.addEventListener('touchstart', this.selectmouse.bind(this))
定义在Dumplings.prototype里的函数如果作为Dumplings实例的方法调用,其this指针会指向Dumpling实例。
但作为参数传递给其他函数(比如addEventListener)时其this指针会被重置,由addEventListener控制。
你需要在prototype里的函数里调用其它同级的函数,this就应当指向Dumplings实例,用this.ele来绑定事件和访问事件的对象,这样才能通过this来访问其他同级对象。为防止addEventListener改变this的指向,需要用bind固定下来。
var a = {s : document.getElementById('content'), //这里不为空
ss : {
s:this.s, //这里的this为window对象,并不是a对象
dd:function(){
alert('SS.s='+this.s) //这里的this是ss对象,并不是a
//return this.s
}
}
}