gpt4 book ai didi

javascript - 谷歌地图信息窗口closeclick事件(函数参数)

转载 作者:行者123 更新时间:2023-11-29 15:39:54 25 4
gpt4 key购买 nike

我的网络应用程序使用以下弹出覆盖插件在屏幕上的弹出窗口中显示配置文件内容:
http://vast-eng.github.io/jquery-popup-overlay/

我的问题与我在弹出窗口中使用的 Google map - 标记信息窗口有关。
当我尝试关闭信息窗口时,弹出窗口也消失了。
这是错误的!我没有立即明白为什么要这样做。
如果找不到解决方案,我可以禁用或隐藏 X,但我不想这样做。

以下链接中的“where”部分向您展示了问题所在:
http://www.zwoop.be/dev/#list/bars/1

编辑事件参数为以下事件监听器返回“未定义”:

google.maps.event.addListener(self.marker.infowindow, "closeclick", function(e)
{
console.log(e);
});

谢谢

enter image description here

编辑2这是一个说明问题的快速 fiddle :
http://jsfiddle.net/462HF/

最佳答案

当您在谷歌地图的信息窗口中单击“X”时,会调用弹出叠加插件中的模糊功能,这就是整个弹出窗口关闭的原因。下面是 jquery.popupoverlay.js 文件中的代码:

if (options.blur) {
blurhandler = function (e) {
if (!$(e.target).parents().andSelf().is('#' + el.id)) {
methods.hide(el);
}
};
}

'X' 是一个图像,它的 parents() 只返回到 InfoWindow div,而不是 popup div。因此,它将调用 methods.hide(el) 并关闭弹出窗口。

可能有更好的方法来确定它是否被点击,但将其更改为以下工作。它只是检查目标的 img 源:

if (options.blur) {
blurhandler = function (e) {
if (!$(e.target).parents().andSelf().is('#' + el.id) ) {
if(!($(e.target).attr('src') === 'http://maps.gstatic.com/mapfiles/api-3/images/mapcnt3.png'))
methods.hide(el);
}
};
}

关于javascript - 谷歌地图信息窗口closeclick事件(函数参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21109181/

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