Создание рамки для фантазии из всплывающего окна - PullRequest
0 голосов
/ 22 февраля 2012

Я пытаюсь сгенерировать всплывающее окно с буклетом, содержащим тег привязки, который при нажатии открывает веб-страницу в окне fancybox. Это прекрасно работает вне всплывающего контента при генерации fancybox с использованием

<a class='fancybox.iframe' href='http://en.wikipedia.org/wiki/Space_Needle'>More Info</a>"

но когда я помещаю это во всплывающее окно листовки, fancybox не работает, а просто открывается в новом окне.

var markerLocation = new L.LatLng(47.6204, -122.3491),
marker = new L.Marker(markerLocation);
map.addLayer(marker);
var popupContent = "<a class='fancy fancybox.iframe' href='http://en.wikipedia.org/wiki/Space_Needle'>More Info</a>";
marker.bindPopup(popupContent);
map.on('click', onMapClick);
var popup = new L.Popup();

Я довольно новичок во всем этом, так как я могу заставить его работать?

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

надеюсь, что вы используете v2

, будет полезно, если вы покажете свой код, где вы привязываете свою ссылку к плагину fancybox, что-то вроде:

$(function(){
   $(".fancy").fancybox();
});

возможно вам нужно будет вызвать эту привязкупосле добавления ссылки!

Второй вариант - вызвать плагин fancybox непосредственно при щелчке по ссылке, например:

<a href="..." class="fancybox.iframe" onclick="$.fancybox(this);return false;">More info</a>
0 голосов
/ 22 февраля 2012

Вы привязываете fancybox на $(document).ready() или что-то подобное?Если это так, похоже, что ваш всплывающий контент не существует в DOM в то время.Он должен существовать, чтобы иметь привязанное к нему событие щелчка.

Если ваша карта вызывает событие, к которому вы можете прикрепить обратный вызов, когда открывается всплывающее окно (когда содержимое добавляется в DOM), тогдаВы можете связать клик fancybox в это время.Похоже, что ваша onMapClick функция может сработать, если она добавит всплывающее содержимое в DOM.Если это так, добавьте ваш $('whatever').fancybox(); в конце.

В худшем случае вы можете попробовать добавить тег <script> после <a> в var popupContent, в котором вы вызываетепривязка fancybox.

...