在我的网站上使用 Fullcalendar,我有一个按钮允许用户过滤某些事件。当他们单击按钮隐藏某些事件时,会触发如下函数:
var hidden_elements = [];
function toggle_hidden_events(toggle) {
// remove events
if(!toggle) {
// Puts the event objects we're hiding into a global array, and also removes them from Fullcalendar (works fine)
hidden_elements = hide_elements();
}
else {
// does not work
show_events(); // we dont pass the var since its global
}
}
第一个块,if(!toggle)
工作正常并隐藏正确的事件,并将它们正确分配给数组。
但是,当我打电话时show_events()
,它没有按预期工作。这是函数的样子:
function show_events() {
while(hidden_elements.length > 0) {
var event = hidden_elements.pop();
$("#calendar").fullCalendar('renderEvent', event, true);
}
}
使用console.log(event)
,我已经验证了有效的事件对象正在传递给renderEvent
函数。但是,它们没有出现在日历上。