在Adam Shaw的jquery完整日历中是否有回调在日历完全呈现后调用?我想在该回调中调用clientEvents函数以获取客户端上的所有事件。我尝试在viewDisplay中执行此操作,但在呈现事件之前调用它并且clientEvents返回0个事件。
答案 0 :(得分:22)
我知道这篇文章现在相当陈旧,但如果有任何帮助,你不需要按照Cheery的建议修改原始来源(尽管他/她的回答也可以正常工作)。
你也可以使用已经存在的回调'loading':
$('#calendar').fullCalendar({
loading: function(bool) {
if (bool){
alert('I am populating the calendar with events');
}
else{
alert('W00t, I have finished!');
// bind to all your events here
}
}
);
答案 1 :(得分:9)
实际上你可以自己添加它。更新render
中的函数fullcalendar.js
,如下所示
function render(inc) {
if (!content) {
initialRender();
trigger('complete', null, true);
}else{
calcSize();
markSizesDirty();
markEventsDirty();
renderView(inc);
trigger('complete', null, true);
}
}
并添加到初始调用回调函数:
$('#calendar').fullCalendar({
editable: true,
complete: function() {alert('complete');},
或者,如您所愿,您可以访问所有活动
complete: function() {
var events = $(this).fullCalendar('clientEvents');
for(var i in events)
{
alert(events[i].title);
}
},
答案 2 :(得分:7)
现在可能已经过时了,但目前有一个正式的回调函数(在1.6版中添加):eventAfterAllRender。无需修改源代码。
答案 3 :(得分:0)
viewRender事件就是答案;加载仅适用于内容加载。