检索使用谷歌地图API侦听器时JavaScript的的EventObject(Retrieving

2019-09-18 07:32发布

在谷歌地图API V3,我想一个标记添加到地图中,如果用户控制单击地图。 对于这一点,我添加了一个监听器,地图,内容如下 -

google.maps.event.addListener(map, 'click', function(e){
if (event.ctrlKey)
    add_marker(e.position);
});

e参数,由听众通过,包含了一些数据,但主要是关于点击的位置,而我希望能够问如果在usser在地图上点击时按下控制按钮。

我发现铬有一个对象的事件 ,这是默认的JavaScript的的EventObject,包含我所需要的数据(中ctrlKey),这在Chrome确实有效。

然而,当我试图在FF相同的代码,它找不到称为“事件”的对象,我无法找到一个方法来检索。

我很感激你在寻找一个解决方案,将在IE工作了帮助。

谢谢,DanC

Answer 1:

该API不说有关访问DOM事件对象什么。

传递给回调函数的参数目前包含的属性b是指事件对象,所以你可以使用ebctrlKey

但因为这是不是证明它是不可靠的可能会改变明天。

另外一个选项:
您可能会发现对于包含地图,而无需使用API​​法股利的事件:

map.getDiv().onclick=function(e)
{
  e=window.event||e;
  if (e.ctrlKey)
  {
    //do something
  }
}


文章来源: Retrieving JavaScript's eventObject when using Google Maps API listener