Fancybox 2作为链接仅触发一次

时间:2013-01-06 02:28:42

标签: jquery fancybox-2

我有以下代码:

使用Javascript:

<script>
    $(document).ready(function () {
        $("a.attachbox").fancybox({
            fitToView: false,
            autoSize: true,
            closeClick: false,
            openEffect: 'none',
            closeEffect: 'none',
            minWidth: 750,
            helpers: {
                overlay: {
                    css: {
                        'background': 'rgba(153, 204, 255, .5)'
                    }
                }
            }
        });
    });
</script>

HTML:

<h3>My Products</h3>
<a style="display: none;" class="attachbox fancybox.ajax" href="../site_vendor/add_products.php?page=addproducts"></a>
<div style="text-align:right; padding-top:5px; padding-right:5px;">
    <input class="button"  value="Add a Product" onclick='$("a.attachbox").trigger("click");' />
</div>

我已经尝试了几个小时,但无法弄清楚为什么上面的链接只会触发一次。 fancybox打开,一旦我关闭它,我无法获得再次打开fancybox的链接。一切都无声地失败,页面上没有任何反应,萤火虫没有任何反应。我不确定它是否与fancybox 2相关或与jquery相关。

1 个答案:

答案 0 :(得分:1)

您的代码有效:

<input class="button"  value="Add a Product" onclick='$("a.attachbox").trigger("click");' />

$(document).ready(function () {
  $("a.attachbox").fancybox({
    fitToView: false,
    autoSize: true,
    closeClick: false,
    openEffect: 'none',
    closeEffect: 'none',
    minWidth: 750,
    helpers: {
      overlay: {
        css: {
          'background': 'rgba(153, 204, 255, .5)'
        }
      }
    }
  });
});

...请参阅 jsfiddle ,因此我认为这不是一个与fancybox或jQuery相关的问题。

我敢打赌,在你打开ajax页面后,不知何故会产生一个js错误(如果你在Firefox中使用web开发人员工具栏,很容易发现),并且该错误会阻止fancybox再次运行。但这只是猜测,但很难说没有实际页面的链接。