С Google Map v2 я хотел бы смочь инициировать функцию при нажатии на текст в InfoWindow GMarker.
$(".foo").click(myFunction);
...
marker.openInfoWindowHtml("<span class=\"foo\">myText</span>");
не работает. Почему событие не поймано в InfoWindow?
Если вызов привязки события вызывается перед вызовом openInfoWindowHtml, как в вашем примере, диапазон не был в DOM, пока первый вызов искал элементы с классом «foo», поэтому обработчик не был прикреплен .
Вы можете либо переместить этот обработчик событий для вызова после openInfoWindowHtml, либо использовать «живую» привязку событий, чтобы jQuery отслеживал в DOM любые новые элементы с данным селектором.
$(".foo").live('click', myFunction);
Насколько мне известно, GMaps программно вставляет контент в InfoWindow, поэтому любые связанные обработчики событий на внедряемых элементах не будут срабатывать, если вы не используете делегирование событий:
$(".foo").live("click", myFunction);
См. Обработчики событий live
.