Javascript 如何(排序)将代码添加到fullcalendar';那是什么?

Javascript 如何(排序)将代码添加到fullcalendar';那是什么?,javascript,jquery,ajax,fullcalendar,jquery-events,Javascript,Jquery,Ajax,Fullcalendar,Jquery Events,我正在使用fullcalendar 1.6.3和Drupal 7(因此,现在需要回到1.6.3)。我有一些代码,我想在每次日历视图更改时(通过ajax请求)运行这些代码——在时间上向前或向后,或者在月/周/日视图之间 根据一些测试,我可以通过破解renderEvents的源代码来做到这一点: function renderEvents(modifiedEventID) { // TODO: remove modifiedEventID hack if (elementVisible())

我正在使用fullcalendar 1.6.3和Drupal 7(因此,现在需要回到1.6.3)。我有一些代码,我想在每次日历视图更改时(通过ajax请求)运行这些代码——在时间上向前或向后,或者在月/周/日视图之间

根据一些测试,我可以通过破解
renderEvents
的源代码来做到这一点:

function renderEvents(modifiedEventID) { // TODO: remove modifiedEventID hack
    if (elementVisible()) {
        currentView.setEventData(events); // for View.js, TODO: unify with renderEvents
        currentView.renderEvents(events, modifiedEventID); // actually render the DOM elements
        currentView.trigger('eventAfterAllRender');
        // my_code_here();
    }
}
但这当然是错误的。不幸的是,我想不出任何其他方法来实现这一点,可能是因为我的Javascript知识存在一些明显的差距。我尝试在
eventAfterAllRender
上设置事件处理程序:

var eventAfterAllRenderEvent = new Event('eventAfterAllRender');
document.addEventListener('eventAfterAllRender', function (e) {my_code_here() }, false);
document.dispatchEvent(eventAfterAllRenderEvent);
但是(对我来说)只在页面加载时运行,而不是在ajax事件之后

这可能更像是一个Javascript问题,而不是一个完整的日历问题,但是有什么建议吗?我真的在努力不去破解内核;谢谢

根据
eventAfterAllRender
是一个回调,因此您可以执行以下操作:

$('#your-calendar-element').fullCalendar({
    eventAfterAllRender: function (view) {
        // add your code here
    }
});

这是有效的;非常感谢。遗憾的是,我仍然遇到一个问题,Drupal视图模块负责创建fullcalendar实例。因此,当我添加这段代码时,页面上会出现第二个日历,这当然会把一切都搞糟。但那是另一回事,不是你关心的(除非你碰巧知道答案:)。。。