我正在使用一个项目实现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注册事件,然后将其转发给我的自定义处理程序。哪个没问题,但似乎Google API本身并没有首先返回该事件,根据Google文档,它应该是。
我的问题是,之前是否有人经历过类似的行为,并且可以提供一些见解。
PS:为什么我想要它?当我将光标移动到文本上时(标记的计数),IE9会触发mouseout
事件。我想,玩事件传播就足以纠正这种行为。或者你对这个话题有任何想法吗?
感谢您的回答!