2017-10-18 56 views
0

我有这样的代码:renderEvent没有呈现新的事件

dayClick: function(date, jsEvent, view) { 

     console.log(moment.utc(date).format()); 
     $('#calendar').fullCalendar('renderEvent', { 
      title: 'sds', 
      start: moment.utc(date).format(), 
      allDay: false, 
      lazyFetching: false 
     }, true); 

    }, 

,新的事件永远不会显示。我想创建事件,以便我可以操纵它。我需要它只是为了表示太空中的时间 - 任何想法为什么它不起作用?

+1

@ Adyson的答案是你出的问题和码是否正确。如果你仍然有问题,也许有什么相关的,你没有向我们展示。你在问题的标题中提到了'renderEvent' - 你在代码中做了些什么? –

+0

它与'events'有关 - 如果它们产生错误,它将不起作用(令人惊讶)。 –

回答

2

看一看http://momentjs.com/docs/#/manipulating/utc/ - 在“UTC”功能不接受的参数。我怀疑你的事件越来越创建,但今天的日期,而不是你点击的日期。我怀疑你的意思是moment(date).utc(),它会将日期传入时刻的构造函数并在该日期创建一个时刻。

但是因为date已经是一个JJ对象(根据https://fullcalendar.io/docs/mouse/dayClick/),所以无论如何直接调用.utc()就可以了,不需要构造函数。在将其传递到事件之前,您应该执行date.utc()的设置。

总评:

dayClick: function(date, jsEvent, view) { 
    date.utc(); //set date to utc first 

    $('#calendar').fullCalendar('renderEvent', { 
    title: 'sds', 
    start: date.format(), 
    allDay: false, 
    lazyFetching: false 
    }, true); 
}, 
+0

还是点击没事的时候发生 - 不知道有什么可以阻止它 –

+0

在您的浏览器控制台任何其他错误?我的代码上面,肯定能行 - 见http://jsfiddle.net/sbxpv25p/33/ – ADyson

+1

好吧,现在我明白了我的错误。当刷新页面时,我从错误的下拉菜单中选择错误的'事件'源以保持日历清洁。当我选择源和事件渲染,然后一切正常。非常感谢! –