我正在编写一个JavaScript函数,以关闭位于fancybox中的表单提交时的fancybox。这里是:

function closeFancyBox() {
    $.fancybox.close();
    $('#calendar').fullCalendar('refetchEvents');
}


它是通过fancybox中的这种方式触发的:

$('form').submit(function() {
    parent.closeFancyBox();
});


事情是这样的:幻想框正确关闭,但是fullcalendar没有刷新显示。但是,当我从控制台调用closeFancyBox();时,它可以工作并且fullCalendar会刷新。我被困在这里。

编辑:

根据danronmoon的建议,我在$.fancybox.close();调用之后添加了一个断点,并检查了$('#calendar')返回的内容...它按预期返回了div元素。

最佳答案

您正在提交表单,因此很显然它将重定向到另一个页面,因此除非您停止重定向,否则您将看不到所有代码。

$('form').submit(function(e) {
    parent.closeFancyBox();
    // run either of the following.
    e.preventDefault();
    return false;
});

08-19 10:13