【问题标题】:Magnific Popup and Bootstrap 3 Modal Call Stack Exceeded超出了 Magnific Popup 和 Bootstrap 3 模态调用堆栈
【发布时间】:2023-03-20 07:36:01
【问题描述】:

在将 Boostrap 3 Modal 与 Magnific Popup 结合使用时,我遇到了一个有趣的问题。我有一个包含视频列表的引导模式,每个视频都有一个查看链接,可以打开一个 Magnific Popup iframe 弹出窗口。

在我使用 Magnific Popup 的 z-index 以使其出现在 Bootstrap 模态之前,一切正常。 问题是,如果您尝试关闭 Magnific Popup(或与之交互),则会发生 stackoverflow 错误(超出最大调用堆栈)。

注意:如果我不理会 Magnific Popup 的 z-index,一切正常。

简化示例:http://codepen.io/craigh/pen/GoWWOK/

注意:codepen 会抑制 SO 错误,因此问题不那么明显。但在我的网站上,SO 发生锁定浏览器。

我认为这与在 Bootstrap 模态外部单击如何关闭模态有关,但我将模态背景更改为静态(强制用户单击 x 或关闭按钮)但没有变化。有什么想法吗?

【问题讨论】:

    标签: javascript jquery twitter-bootstrap stack-overflow magnific-popup


    【解决方案1】:

    有人在github issue 中发布了有关此问题的答案。注释掉一行代码似乎很混乱,它确实可以解决问题,到目前为止我还没有发现任何副作用。

    取自 github 用户 RandomArray 的回复

    第 375 行似乎是问题所在。我把它注释掉了,最大值 调用堆栈大小超出错误消失了。

    _document.on('focusin' + EVENT_NS, mfp._onFocusIn);

    【讨论】:

      【解决方案2】:

      如果您不想干预华丽的弹出代码, github 用户 alyak46141414 后来在同一个issue 中提出建议

      原来如此

      $(document).off('focusin');

      在大量加载之后(加载后调用的任何函数,你 可以在 .ready() 里面做。它清除所有'focusin'处理程序。没有壮丽的 弹出代码修改需要。

      这和 Craig Harschbarger 的(你的)答案都对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-05
        • 2017-07-26
        • 1970-01-01
        • 2016-09-26
        • 1970-01-01
        • 2021-12-27
        • 1970-01-01
        相关资源
        最近更新 更多