0

当我点击一个标记时,我会显示一个带有两个输入字段和一个按钮
的信息窗口: 当我关闭信息窗口时,我想知道按钮是否被按下。
我该怎么做 ?

google.maps.event.addListener(marker[i],"click", function()
    { 
        html = "Name: " + "<input type='text' id='name' />";
        html += "Firstname: " + "<input type='text' id='firstname' />";
        html += "<input type='button' id='okButton' value='OK' />";
        infoWindow[i].setContent(html);
        infoWindow[i].open(map,marker[i]);    
    });  
google.maps.event.addListener(infoWindow[i],'closeclick',function ()
    {  
        //action when the ok button was pressed or not
        //this code doesn't work
        $('#okButton').button().click(function()
        {
            //action
        });
    });
4

2 回答 2

0

用于$.on()观察标记的点击事件(注意:不能直接附加事件,因为按钮只有在信息窗口的 domready-event 被触发后才可用)。

$(document ).on( "click", "#okButton", function() {
  $(this).data('clicked',true);
});

....它data为按钮设置了一个 -property,您可以稍后检索它以确定按钮是否已被单击:

google.maps.event.addListener(infoWindow[i],'closeclick',function (){  
    if($("#okButton").data('clicked')){
      alert('do something');
    }
});
于 2013-09-26T18:08:26.197 回答
0

$('#okButton').button().click(function()这不是处理点击事件的正确方法。此外,您正在动态添加按钮 DOM.. 将其替换为

$(document).on('click', '#okButton', function() {
    //action
});
于 2013-09-26T17:51:18.553 回答