我正在开发一个在地图上显示事件的网站。当用户将鼠标悬停在事件图钉上时,会显示一个工具提示信息窗口并提供事件信息。当用户单击图钉时,它们应该被放大到更靠近事件。
我有这个功能可以在除 Firefox 之外的所有浏览器上运行。由于某种原因,每个图钉 div 的单击事件都不会触发。这特别奇怪,因为 mouseover 事件触发没有问题。我也没有看到任何错误。
$(document).on('click', 'div.pushpin', function () {
alert('Detected a click!');
});
$(document).on('mouseover', 'div.pushpin', function () {
// Displays tooltip
});
这是我的网站:http ://www.raveradar.com/qa
您可以比较它在 Chrome 和 Firefox 中的工作方式以查看问题。
我试图通过创建一个 jsFiddle 来隔离问题。但是点击事件在小提琴中没有问题地触发:http: //jsfiddle.net/acraswell/9TxQg/4/
在这一点上,我真的可以用第二双眼睛检查我的工作了。
编辑: 我刚刚意识到,如果您禁用“位置:固定;” “图钉图标”图像上的 CSS 属性,突然单击图标工作正常。
编辑2: 我已经设法解决了这个问题,请在下面查看我的解决方案。我将把答案奖励给任何能够解释为什么原始代码一开始就被破坏的人,因为这是真正的问题。