gpt4 book ai didi

javascript - 防止点击事件传播/冒泡到谷歌地图

转载 作者:行者123 更新时间:2023-11-30 10:43:00 27 4
gpt4 key购买 nike

我正在使用 Google Maps API V3 的 MarkerClusterer 库将附近的标记分组为一个标记。当用户单击集群标记时,该集群标记旁边会出现一个 div。现在我想让它在点击集群标记后关闭弹出的 div,他可以点击 map 。

问题:在 map 上添加 google.maps.event.addListener(map, 'click', function(){}) 后,当用户点击在群集标记上打开弹出式 div,没有任何反应!!我猜测集群标记上的点击事件导致 div 弹出,但点击事件也传播到 map ,触发 map 的点击监听器关闭弹出窗口。

我希望我可以使用 jQuery 的 event.stopPropagation() 但我在哪里可以获得 event 对象?

我该如何解决这个问题?如何防止点击通过聚类标记传播到 map ?希望该解决方案是跨浏览器兼容的。

JS代码

clusterclickListener = google.maps.event.addListener(mc, "clusterclick", function (cluster) {
$('#content_container').show();
});

google.maps.event.addListener(map, 'click', function() {
$('#content_container').hide();
});

最佳答案

嗯。我刚刚测试了这个,一切都适合我。我唯一的建议是检查您的 div 是否具有正确的 html/css/positioning,因为它可能只是被 map 覆盖了。

事件对象在处理函数中默认是可访问的。如果你想访问事件对象,你可以简单地使用“事件”访问它,所以 event.stopPropagation() 应该可以工作。请记住,如果您将“事件”作为参数传递给处理函数,您将获得一个没有 stopPropagation 方法的自定义 Google map 点击事件。

关于javascript - 防止点击事件传播/冒泡到谷歌地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004550/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com