javascript - 如何(某种程度上)向 fullcalendar 的 renderEvents 处理程序添加代码?

标签 javascript jquery ajax fullcalendar jquery-events

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

根据一些测试,我可以通过破解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 问题,而不是一个完整日历问题,但是有什么建议吗?我真的很努力不去破解核心;谢谢!

最佳答案

根据documentation eventAfterAllRender 是一个回调,所以你可以这样做:

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

关于javascript - 如何(某种程度上)向 fullcalendar 的 renderEvents 处理程序添加代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30084611/

相关文章:

ajax - 对 Asp.Net Web API 的 Angular Xhr 发布请求导致参数为空

python - 在 AJAX 请求中包含 Bottle 模板

javascript - 序列化 <ul> 的内容并通过 AJAX 提交表单

javascript - 按提交后插入的值消失

javascript - 有没有从 Java 程序中使用 Node.js 包的好方法?

javascript - 将函数绑定(bind)到其他范围的 onClick

javascript - 某些 Javascript 在 64 位 Internet Explorer 中无法正常运行

javascript - 为什么单击事件在 Firefox 中可以正常工作,但在 IE 中却不行

javascript - 将选择和输出变量随机化为 javascript 中的 span 标记

javascript - 在 AJAX 请求之外设置变量