点击任意位置关闭MagnificPopup ajax框
每当我试图填写登录表单(这是一个巨大的弹出ajax框)时,它会在第一次点击时关闭。
main.html中
$(document).ready(function() { $('.ajax-popup-link').magnificPopup({ type: 'ajax', alignTop: false, overflowY: 'scroll' }); });
try me
https://stackoverflow.com/questions/18200338/click-anywhere-closes-magnificpopup-ajax-box/result.php
确保您“ajax-ing”的页面不包含超出需要的更多信息或标签。 例如它应该像这样干净:
Heading
Text
换句话说,尝试避免多个
并且不包括 ,
等。不幸的是,这将导致弹出关闭问题中描述的行为。 我认为这是因为它无法确定内容的实际位置,因此它认为您点击了外部内容=>关闭弹出窗口。
closeOnContentClick: false
默认情况下已设置为无效,但清理代码尽可能简单。
我还想提一个替代方案: http : //nyromodal.nyrodev.com/ ,它似乎处理方式更顺畅,还包括内容过滤id。
将此添加到您的大胆弹出选项中
closeOnContentClick: false
所以
$('.ajax-popup-link').magnificPopup({ type: 'ajax', alignTop: false, overflowY: 'scroll', closeOnContentClick: false });
将此添加到您的巨大弹出选项中,单击内部白框
closeOnContentClick: false
单击黑色bg时停止关闭框
closeOnBgClick:false
完整的例子
$.magnificPopup.open({ items: { src: '', type:'inline' }, closeOnContentClick: false, closeOnBgClick:false });