我使用的是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