2015-10-05 48 views
-1

我有一個帶有自定義InfoWindows的Google Map。所有InfoWindows都有一個具有錨鏈接的按鈕。每個按鈕都應打開一個覆蓋onclick。按鈕事件InfoWindow Google Map APi

我的信息窗口的設置是這樣的:

var infoWindowContent = [ 
    ['<div class="info_content">' + 
    '<img src="images/villa-heinepark-klein.jpg"/>' + 
    '<div class="info_text">' + 
    '<h2 class="firstHeading">Villa im Heinepark</h2>' + 
    '<p>' + 
    '<img src="images/icon-ring.png"/>' + 
    'drau&szlig;en unbegrenzt,' + 
    '<br>' + 
    'drinnen bis zu 90 Personen' + 
    '</p>' + 
    '<p>' + 
    '<img src="images/icon-glass.png"/>' + 
    'max. 110/min. 60 Personen</p>' + 
    '<a href="#HEINEPARK" class="button" onclick="myFunction()">> Mehr Informationen</a>' +  
    '</div>' + 
    '</div>'], 

    ['<div class="info_content">' + 
    '<img src="images/lutter-wegner-klein.jpg"/>' + 
    '<div class="info_text">' + 
    '<h2 class="firstHeading">Lutter & Wegner</h2>' + 
    '<p>' + 
    '<img src="images/icon-ring.png"/>' + 
    'ca. 35 Personen sitzend,' + 
    '<br>' + 
    'bis zu 80 inkl. Stehpl&auml;tze' + 
    '</p>' + 
    '<p>' + 
    '<img src="images/icon-glass.png"/>' + 
    'max. 110/min. 60 Personen</p>' + 
    '<a href="#LUTTERWEGNER" class="button">> Mehr Informationen</a>' +  
    '</div>' + 
    '</div>'], 

我的JavaScript看起來像這樣:

function myFunction(e) { 
$('.button').click(function() { 
     var anchor = $(this).attr("href"); 
     //alert(ab); 
     $(anchor).show(); 
     return false;}) } 

問題是你必須點擊兩次,它只能在第一個信息窗口。有誰能夠幫助我?

在此先感謝 杰特

回答

0

你必須在每個按鈕的兩個onclick事件,並在您的按鈕點擊事件處理程序。你不需要兩個。

擺脫的onclick事件,所以

'<a href="#HEINEPARK" class="button" onclick="myFunction()">> Mehr Informationen</a>' 

成爲

'<a href="#HEINEPARK" class="button">Mehr Informationen</a>' 

而剛剛建立的點擊事件處理一次,同時您建立陣列,即擺脫你的代碼的myFunction部分,所以你留下了:

$('body').on('click', '.button', function() { 
    var anchor = $(this).attr("href"); 
    $(anchor).show(); 
    return false; 
}); 
+0

謝謝您的回答。問題是,每當你點擊一個標記時,infowWindows都會被加載。所以它不會激發jQuery的功能。看到更多的下:douglas.madd-agency.de –

+0

我已經修改了我的答案,這種方式應該檢測到任何與'.button'類動態加載到頁面上的任何元素的點擊。 – duncan

0

好吧,我只是圖瞭解它是如何工作的。我將javascript更改爲:

var int=setInterval('check()', 500); 
function check() 
{ 
    if (chkObject('.button')==true) 
    { 
    $('.button').click(function() { 
     var anchor = $(this).attr("href"); 
     //alert(ab); 
     $(anchor).show(); 
     return false;}) 
    } 

} 

function chkObject(elemId) 
{ 
    return (document.getElementsByClassName('.button'))? true : false; 
} 

因此它會在函數執行之前檢查是否存在.button。我確實拿出了a-tag中的onclick。謝謝!

相關問題