Нажмите событие в Google Map InfoWindow, не пойманный

С Google Map v2 я хотел бы смочь инициировать функцию при нажатии на текст в InfoWindow GMarker.

$(".foo").click(myFunction);

...

marker.openInfoWindowHtml("<span class=\"foo\">myText</span>");

не работает. Почему событие не поймано в InfoWindow?

9
задан RedBlueThing 8 February 2010 в 13:09
поделиться

2 ответа

Если вызов привязки события вызывается перед вызовом openInfoWindowHtml, как в вашем примере, диапазон не был в DOM, пока первый вызов искал элементы с классом «foo», поэтому обработчик не был прикреплен .

Вы можете либо переместить этот обработчик событий для вызова после openInfoWindowHtml, либо использовать «живую» привязку событий, чтобы jQuery отслеживал в DOM любые новые элементы с данным селектором.

$(".foo").live('click', myFunction);
10
ответ дан 4 December 2019 в 09:13
поделиться

Насколько мне известно, GMaps программно вставляет контент в InfoWindow, поэтому любые связанные обработчики событий на внедряемых элементах не будут срабатывать, если вы не используете делегирование событий:

$(".foo").live("click", myFunction);

См. Обработчики событий live .

3
ответ дан 4 December 2019 в 09:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: