1

マップ上にinfoBoxが表示され、リンクのリストが表示されます(これらのリンクには「.mapLinks」というクラスがあります)。JQueryを使用してGoogle Maps API(V3)のinfoWindow/Box内のリンクを無効にしますか?

私の目標は、リンクを識別して無効にする代わりに、「メインページ」(マップキャンバスdivがあるページに含まれています)内でJQueryを使用して、メインページにあるdivを表示することです'私のJQueryは次のとおりです。

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

ご協力いただければ幸いです。

+1

コードに何も問題はありませんが、何が問題なのですか? '.mapLinks'は動的に追加されていますか?そうであれば、 '.delegate()'を使う必要があります。親の '.on()'。 – Chad

+0

はい、インフォボックスには「.mapLinks」が動的に取り込まれます。私は '.delegate()'しようとします。早速のお返事ありがとうございます。 – chib

答えて

2

それらが動的に追加されている場合は、.delegate()を使用する必要があります:

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

それとも、あなたが.on()の構文を使用することができます1.7以降を使用している場合:これはにイベントをバインドします

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

を親要素(この場合はdocument)を呼び出し、イベントのバブルをキャッチします。したがって、.mapLinksを動的に追加して削除することはできますが、それでも動作します。

+0

.delegate()は完全に機能しました。ありがとうございます! – chib

+0

@chib問題ありません! StackOverflowへようこそ。解決した問題を解決した回答を受け入れるようにしてください。 – Chad

関連する問題