我正在编写一个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元素,正如预期的那样。
答案 0 :(得分:0)
您提交表单显然会重定向到另一个页面,所以除非您停止重定向发生,否则您将看不到所有代码。
$('form').submit(function(e) {
parent.closeFancyBox();
// run either of the following.
e.preventDefault();
return false;
});
答案 1 :(得分:0)
我仍然不确定是什么导致这种情况,但我确实设法通过将调用fullCalendar的refetchEvents
移动到fancybox afterClose
挂钩来“修复”它。
简而言之,这解决了症状,但我不知道是什么导致了潜在的问题。