我有一個infoBox,當點擊谷歌地圖標記時打開。在infoBox裏面有一個按鈕'#open-popup',點擊時應該打開一個magnificPopup模式窗口,但沒有任何反應。Magnific-popup無法打開從谷歌地圖infoBox中的按鈕
作爲一項測試,我已經把相同的按鈕放在包含谷歌地圖的div外面,該地圖打開模式窗口,但僅在第二次點擊!到底是怎麼回事?
我已經嘗試了幾天的所有事情,但都有最壞的副作用。
任何幫助將不勝感激。
HTML的按鈕內的信息框:
<button id="open-popup">Open popup</button>
<div id="my-popup" class="mfp-hide white-popup">Inline popup</div>
JS:
<div style=...>
<centre>
<button id="open-popup">Open popup</button>
<div id="my-popup" class="mfp-hide white-popup">Inline popup</div>
</center>
</div>
以外谷歌地圖的div HTML的按鈕
myapp.triggerClick = function(){
google.maps.event.trigger(gmarkers[id],"click")
};
var infoboxOptions = {
content: ''
,disableAutoPan: false
,alignBottom: true
,maxWidth: 0
,pixelOffset: new google.maps.Size(0, 0)
,zIndex: 1000
,boxStyle: {
background:''
,opacity: 0.9
}
,closeBoxMargin: "4px 4px 0 0"
,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
,infoBoxClearance: new google.maps.Size(1,1)
,isHidden: false
,pane: "floatPane"
,enableEventPropagation: false
};
var ib = new InfoBox(infoboxOptions);
function createMarker(latlng, html, id) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map
//zIndex: Math.round(latlng.lat()*-100000)<<5
});
google.maps.event.addListener(marker, 'click', function() {
ib.setContent(contentString);
ib.open(map,marker);
});
gmarkers[id] = marker;
}
$(document).on('click', '#open-popup', function() {
$(this).magnificPopup({
items: {
src: 'http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Peter_%26_Paul_fortress_in_SPB_03.jpg/800px-Peter_%26_Paul_fortress_in_SPB_03.jpg'
},
type: 'image' // this is default type
});
});
謝謝,它的工作......現在彈出窗口只打開一秒鐘,並進一步點擊。首次點擊不適用於每個信息框。 –
@asier_js設置一個JSFiddle或Plunker,我會看看。 – GFoley83
非常感謝GFoley83在這裏。 http://jsfiddle.net/asier_adq/hgYXG/ –