gmap api 3.0:覆盖上的“mouseover”事件在侦听器中返回“undefined”事件

时间:2012-08-30 20:05:52

标签: javascript jquery google-maps jquery-gmap3

我正在使用一个项目实现Google Maps 3.0,我正在使用jquery-gmap3插件来控制地图。一切都很好,只是IE9(通常)在正确解释页面方面存在一些问题。

我有一个jquery-gmap3聚类标记(我假设,它表示为叠加而不是标记)并且我有一个文本 - 此群集中包含的标记计数。然后,我通过常规方式将mouseovermouseout事件附加到此群集:

cluster: { 
  events: { 
    mouseover: function(c, e, d) {...}, 
    mouseout: function(c, e, d) {...} 
  } 
}

我的基本问题是,当我移入或移出群集覆盖时,事件侦听器处理函数中没有提供事件(typeof e == 'undefined')

我在jquery-gmap3.js中找到了这个方法的问题:

// (that `console.log` was added by me)
this._attachEvent = function(sender, name, fnc, data, once){
  google.maps.event['addListener'+(once?'Once':'')](sender, name, function(event) {
    console.log([sender, name, event, data, once]);
    fnc.apply($this, [sender, event, data]);
  });
}

看起来,它正在使用Google API注册事件,然后将其转发给我的自定义处理程序。哪个没问题,但似乎Google API本身并没有首先返回该事件,根据Google文档,它应该是。

我的问题是,之前是否有人经历过类似的行为,并且可以提供一些见解。

PS:为什么我想要它?当我将光标移动到文本上时(标记的计数),IE9会触发mouseout事件。我想,玩事件传播就足以纠正这种行为。或者你对这个话题有任何想法吗?

感谢您的回答!

0 个答案:

没有答案