我使用的是ovi maps API,並且我有一個帶事件處理程序的折線。事件處理程序如下所示Javascript關閉/事件處理噩夢
SomeClass = Base.extend({
_clickFunction: function(evt) {
alert(this.someBaseClassMethod() + 'x: ' + evt.targetX+ 'y:'+ evt.targetY);
},
go: function(){
myClickableThing.addListener('click', this._clickFunction.bind(this));
}
}
第一次我點擊我的事,我得到的X和Y是對光標的像素位置和準確的時間戳正確。對於同一個polyLine上的每個後續點擊,我都會得到完全相同的X,Y和時間戳。有沒有人有任何想法或解決方法?
是什麼線做this._clickFunction.bind(這)?從來沒有見過這個.. – Baz1nga
爲什麼你需要綁定'this._clickFunction.bind(this));'?它看起來不像函數使用'this'對象,所以你應該只能使用'this._clickFunction'。 –
假設你的_clickFunction對這個對象是私有的。你不應該僅僅給這個函數的引用作爲eventHandler。即myClickableThing.addListener('click',_clickFunction); – Baz1nga