Создание рамки для фантазии из всплывающего окна

Я пытаюсь, чтобы всплывающее окно, созданное с помощью листовки, содержало тег привязки, который при нажатии открывает веб-страницу в окне 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 ответа

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

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

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

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

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

<a href="..." class="fancybox.iframe" onclick="$.fancybox(this);return false;">More info</a>

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

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

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

Другие вопросы по тегам