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 –