点击任意位置关闭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

 
Email:

确保您“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: '

Modal Test

Test Some text.

Dismiss

', type:'inline' }, closeOnContentClick: false, closeOnBgClick:false });