作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在显示 KML 文件的内容时,我在使用 fancybox 和 google map (v3)时遇到一些问题。
显示包含描述的气球时,我有一个图像的缩略图,我想在使用 fancybox 单击时显示该图像的缩略图。我遇到的问题是,当单击缩略图时,会显示 fancybox,但浏览器还会生成一个显示全尺寸图像的新窗口。
我知道在解析 KML 文件时,任何 href 标签都会添加目标属性,因此我尝试在 map 加载后将其删除,同时将 fancybox 附加到链接。
我在尝试之前确保 map 已加载:即
function updatemap(surveyid){
var map;
var myOptions = {
zoom: 5,
mapTypeId: google.maps.MapTypeId.HYBRID
};
var url = "https://myurl/feed/kml.php?action=survey&id=" + surveyid;
map = new google.maps.Map(document.getElementById("googlemap"), myOptions);
var kmlLayer = new google.maps.KmlLayer(url);
kmlLayer.setMap(map);
google.maps.event.addListener(map, "tilesloaded", function(){
attachFancyBox();
});
}
attachFancyBox() 函数如下所示。
function attachFancyBox(){
$("a:has(img)").fancybox({
"hideOnContentClick":true
}).removeAttr("target");
}
现在这将适用于 Firefox,但其他浏览器(IE7+、safari、chrome)的行为如上所述。那么有没有一种方法可以实现在 fancybox 中显示图像而不生成新窗口/选项卡?
非常感谢...
最佳答案
对不起,我没有时间完全重建您的情况,但可能是因为不是目标
,可能是因为Google map 脚本将click
事件绑定(bind)到一个
标签?尝试在附加花式框之前取消绑定(bind)所有事件:
function attachFancyBox(){
$("a:has(img)").unbind()
.fancybox({
"hideOnContentClick":true
})
.removeAttr("target");
}
关于jquery - 使用 fancybox 时谷歌地图在新窗口中显示图像的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4185829/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!