Javascript 函数未完成



我正在编写一个JavaScript函数来关闭位于花哨框中的表单提交时的花哨框。在这里:

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

它在花哨的盒子里以这种方式触发:

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

事情是这样的:花式框正在正确关闭,但完整日历没有刷新显示。但是,当我从控制台调用closeFancyBox();时,它可以工作并且完整日历刷新。我在这里被难住了。

编辑:

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

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

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

我仍然不确定是什么原因造成的,但我确实设法通过将对 fullCalendar refetchEvents的调用移动到花哨的盒子afterClose钩子来"修复"它。

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

最新更新