Google地图信息窗口中的点击事件未被捕获

use*_*129 9 javascript google-maps mouseclick-event infowindow

使用Google Map v2,我希望能够在单击GMarker的InfoWindow中的文本时触发功能.

$(".foo").click(myFunction);

...

marker.openInfoWindowHtml("<span class=\"foo\">myText</span>");
Run Code Online (Sandbox Code Playgroud)

不起作用.为什么事件没有被InfoWindow捕获?

小智 10

如果在调用openInfoWindowHtml之前调用事件绑定调用,就像在您的示例中那样,当第一次调用查找具有类"foo"的元素时,跨度不在DOM中,因此没有附加处理程序.

您可以移动该事件处理程序以在openInfoWindowHtml之后调用,或者使用"实时"事件绑定,以便jQuery将监视DOM以获取具有给定选择器的任何新元素.

$(".foo").live('click', myFunction);
Run Code Online (Sandbox Code Playgroud)


ste*_*ven 10

我无法像Kevin Gorski解释的那样工作......

使用jquery 1.9.1和maps api v = 3.exp以下工作:

infowindow.setContent('<a href="#" id="test">test</a>');
google.maps.event.addDomListener(infowindow, 'domready', function() {
    $('#test').click(function() {
        alert("Hello World");
    });
});
Run Code Online (Sandbox Code Playgroud)