1

我正在用一个项目实现 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 注册事件,然后将其转发给我的自定义处理程序。这很好,但似乎谷歌 API 本身并没有首先返回该事件,根据谷歌文档,它应该返回。

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

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

谢谢您的回答!

4

0 回答 0