在()上调用JQUERY点击隐藏的Google Infobox.Js

时间:2012-01-30 17:36:56

标签: jquery google-maps hidden infowindow

我正在使用Google API V3 Infobox.js插件来显示自定义信息窗口。

我的问题是infobox.js代码隐藏了每个标记信息窗口并使用z-index将它们带到前面。

当以这种方式隐藏父div时,是否可以触发单击事件?

以下是Infobox.js的示例: http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/examples/infobox-basic.html

如果你看一下Firebug中的代码,你会看到InfoBox的div被幻影出来。

例如,这里是Firebug HTML代码视图中出现的InfoBox:

<div style="border: 1px solid black; margin-top: 8px; background: none repeat scroll 0% 0% yellow; padding: 5px;">
City Hall, Sechelt    <br>    British Columbia    <br>    Canada
</div>

现在,想象一下InfoBox内部的按钮链接和“.infobox-link”类打开一个模态

在准备好文件时,我致电:

 $("#my-body-id").on("click", ".infobox-link", function(event){
    var linkalt = $(this).attr("alt");
    openModal(linkalt);             
    return false;
});

我以这种方式绑定它,因为标记,信息框和地图本身都是动态的,最初不存在。所以,我使用on()将点击绑定到正文。但是,click事件永远不会触发,因为DOM中的元素由于Infobox.js而被隐藏。

div应该是可见的,但事实并非如此。控制台说可见性是可见的,但是触发事件并没有发生。

我是否需要修改Infobox.js或者我可以使用JQ解决它吗?

如何触发此点击?

1 个答案:

答案 0 :(得分:2)

好的,我找到了罪魁祸首。

enableEventPropagation: true

infoBox会杀死气泡(默认值:false),因此我的所有事件都没有触发。