javascript从事件侦听器访问父级

时间:2012-03-12 13:49:04

标签: javascript

我正在尝试为google map api创建一个包装器。以下函数是对象的一部分。我不断得到“自我未定义”。通常,侦听器只有函数(事件),我尝试将self添加到参数列表以访问父对象。

var self = this;

google.maps.event.addListener(this.geoMarker, 'dragend', function( event, self ){

      //update input 
      self.lat = event.latLng.lat(); //ERROR: self is undefined
      self.lng = event.latLng.lng();


      //udpate any fields that were set
      self.updateDisplay();  

      self.geoMarker.setTitle("Lat: " + event.latLng.lat() + '   Lng: ' + event.latLng.lat() );

}); 

2 个答案:

答案 0 :(得分:2)

你应该从回调的参数列表中删除self的声明 - 它超越了外部声明。

答案 1 :(得分:0)

从回调函数

中删除第二个参数(self)