我正在用一个项目实现 Google Maps 3.0,我正在使用 jquery-gmap3 插件来控制地图。一切都很好,只是 IE9(通常)在正确解释页面方面存在一些问题。
我有一个 jquery-gmap3 聚集标记(我假设它表示为覆盖而不是标记),并且我有一个文本 - 此群集中包含的标记计数。然后,我通过通常的方式将一个mouseover
和mouseout
事件附加到该集群:
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 触发事件。我想,玩事件传播就足以纠正这种行为。或者你对这个话题也有什么想法?
谢谢您的回答!