2012-02-22 31 views
0

我想用小冊子生成一個彈出窗口,其中包含一個錨點標記,點擊時會打開fancybox窗口中的網頁。生成使用從小冊子彈出窗口生成fancybox框架

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

一個的fancybox時,該工作彈出的內容就好了外面,但是當我提出,在單張彈出的的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(); 

我對這一切都相當陌生,所以我如何使它工作?

回答

0

你是否約束了$(document).ready()或類似的fancybox?如果是這樣,那麼看起來您當前的DOM內不存在彈出內容。它需要存在以便有一個點擊事件綁定到它。

如果您的地圖觸發了一個事件,您可以附加回調到彈出窗口打開時(當內容被添加到DOM時),那麼您可以綁定當時的fancybox點擊。它看起來像你的onMapClick函數可能會訣竅,如果這是它將彈出內容添加到DOM的地方。如果是這樣,請在末尾添加您的$('whatever').fancybox();

在最壞的情況下,你可以試試<a>var popupContent,在其中您撥打的fancybox結合後加入<script>標籤。

1

希望您使用V2

這將有助於如果你展示,你的鏈接綁定到的fancybox插件 東西你的代碼,如:

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

也許你會需要調用後,你這個綁定添加你的鏈接!

第二個選項是調用的fancybox直接的鏈接 類似的onclick插件:

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

完美的第二個選項偉大的工作。感謝您的幫助! – Gregle 2012-02-25 06:30:26