1

ファンシーボックスにあるフォームの送信時にファンシーボックスを閉じるJavaScript関数を作成しています。ここにあります:

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

ファンシーボックス内でこのようにトリガーされます。

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

ファンシーボックスは正しく閉じていますが、フルカレンダーは表示を更新していません。closeFancyBox();ただし、コンソールから呼び出すと、機能し、fullCalendar が更新されます。私はここで困惑しています。

編集:

danronmoon の提案に従って、呼び出しの後にブレークポイントを追加し、何が返さ$.fancybox.close();れるかを確認しました...予想どおり、div 要素が返されました。$('#calendar')

4

2 に答える 2

0

フォームを送信しているので、明らかに別のページにリダイレクトされるため、リダイレクトの発生を停止しない限り、すべてのコードが機能することはありません。

$('form').submit(function(e) {
    parent.closeFancyBox();
    // run either of the following.
    e.preventDefault();
    return false;
});
于 2012-12-09T00:59:17.460 に答える
0

何が原因なのかはまだわかりませんが、fullCalendar の呼び出しをrefetchEventsfancyboxafterCloseフックに移動することで、なんとか「修正」できました。

要するに、これで症状は修正されましたが、根本的な問題の原因はわかりません。

于 2012-12-09T18:57:43.760 に答える