所以我试图能够使用 fancybox 之外的所有内容而无需关闭它。
所以我将 closeclick 设置为 false。 我也将其设置为可拖动,以便我可以在屏幕上移动它,但如果我尝试单击按钮,它不会让我这样做。 我到处研究,但每个人都只能通过单击来关闭它,而不是触发它之外的事件。 我知道它是通过 Iframe 运行的,因此也进行了研究,但仍然没有运气。
如果这是不可能的,是否还有另一种弹出窗口的方法。我希望能够点击 fanxybox 之外的内容。
-一个月后编辑。
一直在研究,还没有弄清楚。当时正在做其他项目,然后这个项目又出现了。 现在我还想弄清楚如何在 fancybox 中打开 fancybox。使第二个可拖动(不是第一个)并且能够在 fancybox 内部单击。除非 fancybox 不是解决所有这些问题的方法,否则还有其他方法可以做到这一点。
这是我的第一页
$(".fancybox").fancybox({
fitToView: false,
beforeShow: function () {
this.width = 1000;
this.height = 300;
}
});
<a class="fancybox fancybox.iframe" href="">
<center>
<img src="images/calendar.png" border="0" style="height: 25px; width: 25px;" /></center>
</a>
这是另一页上的 fancybox 内部的内容。
parent.$(".fancybox").fancybox({
fitToView: false,
beforeShow: function () {
this.width = 500;
this.height = 100;
},
afterShow: function () {
$(".fancybox-wrap").draggable();
}
});
<a class="fancybox fancybox.iframe" href="">
<img src="images/arrow-right-3.png" border="0" style="height: 25px; width: 25px;" /></a>
但是当我运行那个程序时,fancybox 没有出现,它只是转到下一页。不确定它是关闭第一个来打开这个还是只是重定向。
我试过Here但这似乎不起作用。 这是困扰我多年的问题,因此我们将不胜感激。
最佳答案
您应该能够将 helpers.overlay 选项设置为 false,这将阻止显示叠加层:
parent.$(".fancybox").fancybox({
fitToView: false,
beforeShow: function () {
this.width = 500;
this.height = 100;
// If helpers.overlay = false doesn't work, uncomment below.
// $('#fancybox-overlay').remove();
},
helpers: {
overlay: false
},
afterShow: function () {
$(".fancybox-wrap").draggable();
}
});
如果做不到这一点,您可以在 beforeShow
方法中简单地删除覆盖元素。对话框周围有一个不可点击的区域(用于渐变效果),但其他一切都对我有用。
HTH
关于javascript - 单击 fancybox2 外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36653079/