我有以下代码:
使用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相关。
答案 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再次运行。但这只是猜测,但很难说没有实际页面的链接。