weixin_33736649 2015-12-10 14:32 采纳率: 0%
浏览 235

Fancybox中的两个关闭事件

I'm facing problem with my popup ajax contact form because it have only one close event...

My AJAX contact form have two buttons SEND and CANCEL. When i use SEND button the Sweet alert confirmation show correct message. But when i close the window by button CANCEL or click outside the window or use X button on the corner the same confirmation message is showing and this is problem

My js code

           $('#button').fancybox({
            'hideOnContentClick': false,
            'afterClose' : function(){
                swal({
                    title: 'Thanks dude!',
                    text: 'You are awesome!',
                    type: 'success',
                    showConfirmButton: false,
                    timer: '5000'
                });
            }
            });

My ajax call

                $.ajax({
                    url: "ajax_form.php",
                    post: "POST",
                    data: $('#contact').serialize(),
                    dataType: "json"
                });     $.fancybox.close();

So when someone hit SEND button $.fancybox.close(); will close the window and Sweet Alert give nice info with great success. How to add or disable Sweet Alert confirmation when someone use CANCEL button or use other close action?

  • 写回答

1条回答 默认 最新

  • weixin_33725272 2015-12-10 15:00
    关注

    Thinking in another way to close it, you can try adding a common class or something to the CANCEL, X button and the parent element outside the fancybox. Then with jQuery (or JS), you can define a function that closes it and avoid the ajax call. For example, add a common class class="preventAjax". Then with jQuery:

    $('.preventAjax').click(function() {$.fancybox.close();});
    

    Other than that, you can close it with Css, but I recommend closing it with the commands that the API provides.

    Hope that helps!

    评论

报告相同问题?

悬赏问题

  • ¥15 串口发送数据和接收数据
  • ¥15 JNA调用DLL报堆栈溢出错误(0xC00000FD)
  • ¥15 请教SGeMs软件的使用
  • ¥15 自己用vb.net编写了一个dll文件,如何只给授权的用户使用这个dll文件进行打包编译,未授权用户不能进行打包编译操作?
  • ¥50 深度学习运行代码直接中断
  • ¥20 需要完整的共散射点成像代码
  • ¥15 编写vba代码实现数据录入工作
  • ¥15 做过TCL海信电视小米电视相关影视会员软件私我
  • ¥15 Mapreduce是正常的,在运行其他jar包时并没有任何问题,只是在做LogCount.jar 时出的问题。如图所示
  • ¥15 ImportError: DLL load failed while importing _iterative: 找不到指定的模块。