2012-02-20 77 views
1

我有一個信息框顯示在地圖上,填充了一個鏈接列表(我給這些鏈接類'.mapLinks')。使用JQuery禁用Google Maps API(V3)中infoWindow/Box的鏈接?

我的目標是在'主頁面'(包含在地圖canvas div所在的頁面中)中使用JQuery來識別和禁用鏈接,並使用它們來顯示位於'主頁面」。我的JQuery如下;

$('.mapLinks').click(function(event) { 
    event.preventDefault(); 
    $('#divOnMainPage').addClass('hidden'); 
}); 

任何幫助將不勝感激。

+1

您的代碼沒有錯,什麼是不工作?動態添加'.mapLinks'嗎?如果是,你將需要使用'.delegate()'。或者父母上的'.on()'。 – Chad 2012-02-20 15:23:05

+0

是的,信息框被動態地填入'.mapLinks'。我會嘗試'.delegate()'。感謝您的快速回復。 – chib 2012-02-20 15:43:21

回答

2

如果他們是動態添加,你將需要使用.delegate()

$(document).delegate('.mapLinks', 'click', function(event) { 
    event.preventDefault(); 
    $('#divOnMainPage').addClass('hidden'); 
}); 

或者,如果您使用的是1.7+可以使用.on()語法:

$(document).on('click', '.mapLinks', function(event){ 
    event.preventDefault(); 
    $('#divOnMainPage').addClass('hidden'); 
}); 

這將事件綁定一個父元素(在這種情況下爲document)並捕捉事件的泡沫。因此,您可以動態添加和刪除.mapLinks,它仍然可以工作。

+0

.delegate()完美地工作,謝謝! – chib 2012-02-21 11:43:46

+0

@chib沒問題!歡迎使用StackOverflow,確保在問題解決後接受解決問題的答案。 – Chad 2012-02-21 14:16:38

相關問題