eventRender回调呈现所有事件,如何只呈现单个事件

时间:2016-12-29 04:45:24

标签: javascript jquery fullcalendar

所以我只是添加一个事件(用id,start等创建一个json。)

我尝试了以下内容:

$('#calendar').fullCalendar('renderEvent', my_event);
$('#calendar').fullCalendar('updateEvent', my_event);

这些回调如下:

eventRender: function(event, element) {
    console.log('in event Render callback');
    console.log(event);
}
添加单个事件时,

eventRender会呈现日历中的所有事件。所以我可以立即在日历上看到我添加的事件,并为包括新事件在内的所有事件打印2个控制台日志语句。

如何在日历上仅添加此新事件(带有新ID),以便仅呈现此新事件(仅eventRender仅针对新事件进行回调)而不是所有事件?

1 个答案:

答案 0 :(得分:0)

我担心默认情况下不可能。您可以尝试这样做:

$(document).ready(function() {

      var date = new Date();
      var d = date.getDate();
      var m = date.getMonth();
      var y = date.getFullYear();

      $('#button_id').click(function() {
        var newEvent = {
          title: 'NEW EVENT',
          start: new Date(y, m, d),
          render: true
        };
        $('#calendar').fullCalendar('renderEvent', newEvent, 'stick');
      });

      $('#calendar').fullCalendar({
        editable: true,
        eventRender: function(event, element) {
          if (event.render) {
            element.addClass('test');
          }
          event.render = false;
        }
      });

    });

上面的代码会将“test”css类添加到最后添加的事件中。也许这会以某种方式帮助你。

Fiddle

最好的问候!
Krzysztof