模态模式下的Fancybox问题

时间:2010-12-05 07:34:14

标签: jquery fancybox

在FancyBox框架中给出此链接:

<a class="fancyBox" href="http://localhost/ccms/index.cfm?do=user.update" id="userLink">Update</a>

如果我在物理上单击此链接,将弹出FancyBox模式窗口并显示“用户更新”页面的内容。窗口处于模态模式,关闭窗口的唯一方法是通过Close / X.单击模态外部不执行任何操作。到目前为止一切都很好。

但是,如果我尝试触发这样的窗口:

$("#userLink").fancybox().trigger('click');

“用户更新”页面会根据需要以模态弹出,但在模态外部单击会触发关闭事件,窗口将关闭。

为什么会发生这种情况?

最终我想要的是模态的行为是一致的。但是,如果找不到解决办法,是不是有办法覆盖点击事件导致模态关闭并禁用它?

谢谢,有人吗?

3 个答案:

答案 0 :(得分:2)

当您像这样调用fancybox()时,需要指定模态行为。当您以这种方式调用它时,您可能会覆盖您提供的其他设置。因此,为了保留您的设置,请执行以下操作:

$("#userLink").fancybox({modal:true}).trigger('click');

但我建议您尝试:$("#userLink").click();,它会触发点击事件,并应使用您现有的设置。

答案 1 :(得分:0)

您也可以使用fancybox api

  1. hideOnContentClick:假
  2. hideOnOverlayClick:假
  3. 希望这会有所帮助

答案 2 :(得分:0)

只需将父:“form:first”添加到.fancybox({});功能

示例:

$(".various").fancybox({
                maxWidth: 800,
                maxHeight: 600,
                fitToView: false,
                width: '50%',
                height: '50%',
                autoSize: false,
                closeClick: false,
                openEffect: 'none',
                closeEffect: 'none',
                parent: "form:first"
            });