2012-06-07 75 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

相關問題