Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 放大弹出窗口';导航到其他页面后不显示_Ruby On Rails_Magnific Popup - Fatal编程技术网

Ruby on rails 放大弹出窗口';导航到其他页面后不显示

Ruby on rails 放大弹出窗口';导航到其他页面后不显示,ruby-on-rails,magnific-popup,Ruby On Rails,Magnific Popup,我遇到了一个关于放大弹出窗口的奇怪问题。我有两个单独的页面,链接到相同的放大弹出窗口 单击第1页上启用放大功能的链接---弹出窗口出现。关闭弹出窗口并再次单击也可以 单击第1页上的链接转到第2页 单击第2页上启用管理的链接---弹出窗口不会出现 重新加载第2页的浏览器 点击第2页的放大链接---弹出窗口出现。关闭弹出窗口并再次单击也可以 单击第2页上的链接转到第1页 单击第1页上启用放大功能的链接---弹出窗口不会出现 重新加载第1页的浏览器 单击第1页上启用放大功能的链接---弹出窗口出现。关

我遇到了一个关于放大弹出窗口的奇怪问题。我有两个单独的页面,链接到相同的放大弹出窗口

  • 单击第1页上启用放大功能的链接---弹出窗口出现。关闭弹出窗口并再次单击也可以
  • 单击第1页上的链接转到第2页
  • 单击第2页上启用管理的链接---弹出窗口不会出现
  • 重新加载第2页的浏览器
  • 点击第2页的放大链接---弹出窗口出现。关闭弹出窗口并再次单击也可以
  • 单击第2页上的链接转到第1页
  • 单击第1页上启用放大功能的链接---弹出窗口不会出现
  • 重新加载第1页的浏览器
  • 单击第1页上启用放大功能的链接---弹出窗口出现。关闭弹出窗口并再次单击也可以
  • 重复步骤2
  • 我将
    fixedContentPos
    选项设置为
    true
    ,这样弹出窗口打开时背景不会滚动。在我上面列出的每一个例子中,如果弹出窗口没有出现,背景不会滚动,就好像弹出窗口在那里一样。我在inspector中查看过,看到附加的
    overflow:hidden
    属性停止了背景滚动。但是,弹出的DOM元素并不存在

    顺便说一句,这是一个Rails站点。我在一个静态版本上测试了相同的Javascript代码,它按预期工作,所以我想知道这是否与Rails如何处理路由有关


    任何帮助都将不胜感激

    我猜您启用了Turbolinks(它通过仅替换内容而不触发$(document.ready())来加快页面加载速度)

    您应该像这样绑定图像链接:

    $(document).on('ready page:load', function(event) {
      $('.test-popup-link').magnificPopup({ ...});
    });
    

    或者禁用TurboLink

    TurboLink似乎存在问题。不幸的是,
    page:load
    似乎不太适合,但现在我有了一条线索可以跟进。谢谢