rerenderEvents不会调用eventRender回调和其他错误

时间:2010-12-17 19:19:52

标签: fullcalendar

我有一个复选框按钮,我想要重新渲染事件onChange。我调用rerenderEvents函数,但它不会触发我在日历创建脚本中指定的eventRender函数。调用渲染函数$('#calendar')。fullCalendar('render');但是由于某些原因,事件中占据同一天的事件相互重叠而不是堆叠起来。

这是我的代码,其他初始化参数已被删除以提高可读性:

$('#calendar').fullCalendar({  
    eventRender: function(event, element) {  
      //alert(event.title);  
      if(event.status == 1) {  
        //alert(event.title);  
        if(!$("#accepted").attr("checked"))  
          return false;  
      }  
      else if(event.status == 2) {  
        if(!$("#rejected").attr("checked"))  
          return false;  
      }  
      else if(event.status == '') {  
        if(!$("#nostatus").attr("checked"))  
          return false;  
      }  
    }  
})  

$("#accepted").change(function() {  
    $('#calendar').fullCalendar('rerenderEvents');  
});

$("#rejected").change(function() {
    $('#calendar').fullCalendar('render'); 
});

1 个答案:

答案 0 :(得分:0)

我没有在eventRender中返回false来隐藏事件,而是将一个类添加到设置display:none的元素中。这给了我正在寻找没有重叠的效果。我不得不在更改事件上调用render函数而不是rerenderEvents,因为只有render函数调用eventRender来放置代码来处理它。