我刚刚实施了'Magnific Popup'并且弹出窗口很好,但是当我点击一个输入框时,整个弹出窗口会消失回到父页面。在插件网站上显示的示例中,整个对话框是可单击的,直到您单击该框外部。
我希望它只是一些非常简单的东西,我已经错过了,但它仍然在努力。
我真的很感激我能得到任何帮助!
谢谢:)
答案 0 :(得分:9)
如果您使用的是“ajax”内容类型,则需要确保只有一个根节点。
http://dimsemenov.com/plugins/magnific-popup/documentation.html#ajax_type
,例如,这是ajax文件的正确内容:
<div>
html content
<script src="something.js"></script>
</div>
不正确:
<script src="something.js"></script>
<div>
html content
</div>
不正确:
<div>
html content
</div>
<div>Another content</div>
还要确保closeOnContentClick
设置为false
http://dimsemenov.com/plugins/magnific-popup/documentation.html#closeoncontentclick
如果由于某种原因,您无法更改ajax文件的内容,您可以解析parseAjax回调中的内容,如所描述的here(因此mfpResponse.data
只包含一个根节点)。
答案 1 :(得分:1)
我还不能回复(代表太低..)所以这样添加: 似乎这也适用于类型:'inline'。安全总是用div包装内容..
$.magnificPopup.open({
items: {
src: '<div>'+ html +'</div>'
},
type: 'inline',
closeOnContentClick: false
}, 0);
答案 2 :(得分:1)
我有同样的错误。 原来是我身边的一个愚蠢的错误,我在开场白和我的内联div上有相同的课程。
<a href="#popup" class="dialog">Open</a>
<div id="popup" class="dialog mfp-hide"></div>
当然他们需要成为不同的类:
<a href="#popup" class="dialog">Open</a>
<div id="popup" class="dialog-box mfp-hide"></div>
答案 3 :(得分:0)
答案 4 :(得分:0)
Add modal:true
in the magnificPopup:
$('.your_class').magnificPopup({
type: 'ajax',
modal:true
});