如何在googlemaps infowindow中检测按钮点击

时间:2014-04-20 20:09:10

标签: javascript jquery google-maps

使用Googlemaps V3

我正在尝试在googlemap上向infoWindow添加一个按钮。 infoWindows和按钮按预期显示。我正在尝试捕获按钮的onclick事件。这就是我到目前为止所做的:

var contentBtn = '<p><button id="marker'+numby+'" class="iwLink" href="#" >Done</button></p>';
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(address+contentBtn);
            infowindow.open(map, this);
        });

        google.maps.event.addDomListener(contentBtn, 'click', function() {

          alert($(this).attr('id'));
        });

infoWindow按预期显示,以及按钮。但是,我在控制台日志中也收到以下错误:

  

未捕获的TypeError:无法读取属性&#39;点击&#39;未定义的   这似乎是由行google.maps.event.addDomListener(contentBtn, 'click', function()

引起的

1 个答案:

答案 0 :(得分:4)

在infowindow完成渲染之前,该按钮不会添加到DOM。在infowindow domready event触发之前,您无法使用getElementById(或等效的jquery)找到它。

var contentBtn = '<p><button id="marker'+numby+'" class="iwLink" href="#" >Done</button></p>';
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(address+contentBtn);
        infowindow.open(map, this);
    });
    google.maps.event.addListener(infowindow, 'domready', function() {
      google.maps.event.addDomListener(contentBtn, 'click', function() {

        alert($(this).attr('id'));
      });
    });