[英]Google maps api: force map to do not handle click inside infobox
在我的應用程序用戶中,當他單擊地圖時創建標記。 所以這樣的代碼:
function placeMarker(map, location) {
var marker = new google.maps.Marker({
position: location,
map: map
//other...
var infowindow = new google.maps.InfoWindow({
content: ballon.get(0)
});
ballon.find("#delete-btn").click(function(){
infowindow.close();
$mapPreview.data("markers")[id].marker.setMap(null);
delete $this.data("markers")[id];
});
});
"#delete-btn"
在infowindow
。 問題是,當用戶單擊"#delete-btn"
他還在地圖上創建了新標記。 如何避免這種情況?
baloon.find("#delete-btn").click(function(e){
e.stopPropagation();
將事件變量傳遞給click函數(e)
,然后使用e.stopPropagation()
停止事件傳播
這將阻止事件通過DOM冒泡並被其他各種偵聽器(如地圖上的偵聽器)拾取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.