【问题标题】:Onclick anywhere on page close popup - Magnific PopupOnclick 页面关闭弹出窗口上的任意位置 - Magnific Popup
【发布时间】:2014-02-21 06:19:32
【问题描述】:

我正在使用 Magnific Popup。

我想在点击页面关闭弹出窗口的任意位置时关闭弹出窗口。

这是我的代码小提琴:

http://jsfiddle.net/qweWa/24/

代码:

$('.popup-modal').magnificPopup({

    type: 'inline',
    modal: true,

});

$(document).on('click', '.closePopup', function (e) 
            {
                e.preventDefault();
                $.magnificPopup.close();
});

【问题讨论】:

    标签: javascript jquery html popup magnific-popup


    【解决方案1】:

    轻微调整,检查小提琴:)

    $('.popup-modal').magnificPopup({

    type: 'inline',
    modal: false,
    

    });

    > $(document).on('click', '.closePopup', function (e) 
    >             {
    >                 e.preventDefault();
    >                 $.magnificPopup.close();
    >             });
    

    http://jsfiddle.net/qweWa/27/

    【讨论】:

    • 你能告诉我如何调用这个弹出窗口从另一个函数打开吗?像这样的东西:jsfiddle.net/qweWa/29
    • ".ajax-call" 是这里的一个类。 $(".ajax-call").button().click(function(){ 你的代码 });或者,如果您希望函数在单击按钮时运行,请使用:
    • 我不能在这里发布两次答案,因为它与第一个问题背道而驰。(这看起来会更好)只要接受我的回答并提供一个新问题,然后我可以在那里回答。但答案在我发布的上述评论中。
    【解决方案2】:

    你需要设置modal: false

    Demo Fiddle

    【讨论】:

    • 你能告诉我如何调用这个弹出窗口从另一个函数打开吗?像这样的东西:jsfiddle.net/qweWa/29
    【解决方案3】:

    modal:设置为 true 时,弹出窗口将具有类似模式的行为:无法通过常规方式(关闭按钮、退出键或单击覆盖)将其关闭。

    $('.popup-modal').magnificPopup({
    
        type: 'inline',
        modal: false
    
    });
    

    【讨论】:

      【解决方案4】:

      来自Magnific-Popup Documentation 实际上不需要设置modal:false 显式。大多数答案都做到了。

      如果您浏览文档,您会发现,如果您甚至不传递 modal 属性,它就可以工作。我已根据您的要求编辑了JSFiddle。我认为在这种情况下可以避免不必要的覆盖属性。

      只要这些就可以了:

      $('.popup-modal').magnificPopup({
          type: 'inline',
      });
      

      注意:不要忘记注意这个答案与其他答案的区别。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多