Вызов JQ на () нажмите на скрытый Google Infobox.Js - PullRequest
1 голос
/ 30 января 2012

Я использую плагин Google API V3 Infobox.js для отображения пользовательских информационных окон.

Моя проблема в том, что код infobox.js скрывает каждое информационное окно маркера и использует z-index для вывода их на передний план.

Можно ли вызвать событие щелчка, когда родительский div скрыт таким образом?

Вот пример Infobox.js: http://google -maps-utility-library-v3.googlecode.com / SVN / багажник / инфобокс / примеры / инфобокс-Basic.html

Если вы посмотрите на код в Firebug, вы увидите, что элементы div для InfoBox скрыты.

Например, вот инфобокс, отображаемый в представлении HTML-кода Firebug:

<div style="border: 1px solid black; margin-top: 8px; background: none repeat scroll 0% 0% yellow; padding: 5px;">
City Hall, Sechelt    <br>    British Columbia    <br>    Canada
</div>

Теперь представьте ссылку кнопки внутри InfoBox с классом ".infobox-link", которая открывает модальное

На готовом документе я звоню:

 $("#my-body-id").on("click", ".infobox-link", function(event){
    var linkalt = $(this).attr("alt");
    openModal(linkalt);             
    return false;
});

Я связываю это таким образом, потому что маркеры, информационный блок и сама карта являются динамическими и изначально не существуют. Итак, я привязываю клик к телу с помощью on (). Однако событие click никогда не запускается, поскольку элемент в DOM скрыт из-за Infobox.js.

Див ДОЛЖЕН быть видимым, но это не так. Консоль говорит, что видимость видна, но событие триггера не работает.

Нужно ли модифицировать Infobox.js или можно обойти его с помощью JQ?

Как я могу вызвать этот клик?

1 Ответ

2 голосов
/ 31 января 2012

ОК, я нашел виновника.

enableEventPropagation: true

Инфобокс убивает пузыри (по умолчанию: false), поэтому все мои события не запускались.

...