2012-06-07 43 views
0

这是我code为什么我无法处理这个infowindow的内容?

HTML

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> 

<div id="mappa-eventi" style="width:500px; height:500px;"></div> 

<div id="mappa-infowindow" style="display:none;"> 
    <div class="mappa-infobox" style="background-color:#ffffff; width:300px; height:100px;"> 
     <a class="punto-leggi" href="javascript:void(0);">Link</a> 
    </div> 
</div> 

的jQuery/JS:

var map; 
var location = new google.maps.LatLng(45.930976, 10.639744); 

$(".punto-leggi").click(function (e) { 
    e.preventDefault(); 
    alert("Clicked"); 
}); 

$(document).ready(function() { 
    var mapOptions = { 
     mapTypeControl: false, 
     panControl: false, 
     zoom: 8, 
     center: location, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    map = new google.maps.Map(document.getElementById("mappa-eventi"), mapOptions); 

    var marker = new google.maps.Marker({ 
     position: location, 
     map: map     
    }); 

    var infowindow = new google.maps.InfoWindow({ 
     content: $('#mappa-infowindow').html() 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.open(map, marker); 
    }); 
}); 

我点击标记!比单击“LINK”,它应该向我显示警报。事实上它并不奏效。但是,如果我加上这个:

$(".punto-leggi").click(); 

在文档准备就绪后,它会得到“单击”。处理程序被调用。

为什么会这样?我该如何解决它?

+0

的建议你为什么约束力的 “.punto - 莱吉” 的document.ready之外的onclick()?把它放在里面! – Ian

+0

也试过了!它不工作,无论如何... – markzzz

+0

我没想到要解决它,但你应该总是绑定事件处理程序在document.ready()(除非你的JavaScript代码是在你的网页底部...如果它在,DOM尚未加载并且不会找到元素)。如果事情是动态添加的,你不能使用简单的.click()绑定,你需要使用.live()/。委托(),但最近.on() – Ian

回答

2

点击处理程序未附加到InfoWindow中的链接。您必须将click委托给.on()

$(function() { 
    // ... 
    $("#mappa-eventi").on("click", ".punto-leggi", function(ev) { 
     ev.preventDefault(); 
     alert("foo"); 
    }); 
}); 

编辑:改变document#mappa-eventi由ianpgall

jsfiddle

+0

我不会使用文档,但这应该解决它。我会使用更接近容器的链接... – Ian

+0

它似乎有效!但是为什么把'$(“。punto-leggi”)。click();'它激发我的原始处理程序?这是同样的接近:O – markzzz

+0

而且,根据你的理论,代表/现场他们应该工作!事实上,他们并没有:O – markzzz

相关问题