0

我有以下代码:

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 2 相关的还是jquery 相关的。

4

1 回答 1

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所以我不认为这是一个花式框或 jQuery 相关的问题。

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

于 2013-01-06T08:53:54.910 回答