function Foo(map){
this.map = map;
}
Foo.prototype = {
onclick: function(e){
this.bar(e.point);
},
bar: function(point){
// do something with point
},
start: function(){
this.map.addEvent("click", this.onclick);
},
stop: function(){
this.map.removeEvent("click", this.onclick);
}
};
但在onclick
,this
被绑定到map
。我希望它可以绑定到Foo
的实例。
请注意,我不能使用匿名函数作为addEvent
的第二个参数,因为我需要稍后移除侦听器。句柄 '这个' 事件监听器
在'start'中仍然是'this'仍然引用'Foo'的实例吗? – wong2
@ wong2是的,它似乎是 - http://jsfiddle.net/infernalbadger/Ypgh5/1/单击正确工作在两个div –