Javascript函数无法完成

时间:2012-12-09 00:27:53

标签: javascript jquery fullcalendar

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

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

它以这种方式在fancybox中触发:

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

这就是事情:fancybox正确关闭,但fullcalendar没有刷新显示。但是,当我从控制台调用closeFancyBox();时,它可以正常工作并且fullCalendar会刷新。我在这里难过。

编辑:

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

2 个答案:

答案 0 :(得分:0)

您提交表单显然会重定向到另一个页面,所以除非您停止重定向发生,否则您将看不到所有代码。

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

答案 1 :(得分:0)

我仍然不确定是什么导致这种情况,但我确实设法通过将调用fullCalendar的refetchEvents移动到fancybox afterClose挂钩来“修复”它。

简而言之,这解决了症状,但我不知道是什么导致了潜在的问题。