1

我有任意数量的谷歌地图标记。我正在遍历它们并添加事件侦听器:

for ( i in markers )
{
  google.maps.event.addListener(markers[i], 'dragend', function()
  {
    console.log( this ); //<-- this doesn't work
  }
}

使用this似乎不起作用。也试过:

for ( i in markers )
{
  google.maps.event.addListener(markers[i], 'dragend', function()
  {
    console.log( markers[i] ); //<-- this doesn't work either
  }
}

如何访问触发事件的相对标记对象?

4

1 回答 1

1

您的第一个示例应该按预期工作,但是存在语法错误,缺少括号。

for (var i in markers )
{
  google.maps.event.addListener(markers[i], 'dragend', function()
  {
    console.log( this); 
  });
//-^
}

演示:http: //jsfiddle.net/doktormolle/w6HaK/

于 2012-12-24T23:45:59.207 回答