2014-10-29 70 views
2

我有這樣的代碼Fullcalendar渲染事件時的觀點是變化

$('#calendar').fullCalendar({ 
    viewRender:function(view,element){ 
     if(view.name == "agendaDay"){ 
      if(jQuery("#calendar").hasClass("hasRendered") == false){ 
       var newEvent = { 
        start: '2014-10-29 07:00', 
        end: '2014-10-29 10:00', 
        allDay: false, 
       }; 
       $('#calendar').fullCalendar('renderEvent', newEvent,'stick'); 
      } 

     } 
    }, 
}); 

這段代碼的問題是,它不斷調用eventRender即使我在agendaDay鑑於今年已經。我如何防止發生這種情況?

回答

1

不知道你爲什麼會想這樣做,但這裏有一個工作示例:

http://jsfiddle.net/3E8nk/762/

viewRender:(function() { 

    var lastViewName; 
    return function(view, element) { 

     if(view.name === 'agendaDay' && lastViewName != view.name) { 

      var newEvent = { 
       start: '2014-06-12T10:30:00', 
       end: '2014-06-12T12:30:00', 
       allDay: false, 
       title: 'My test meeting' 
      }; 
      $('#calendar').fullCalendar('renderEvent', newEvent); 
     } 

     lastViewName = view.name; 
    } 
})(), 

注意,這將會再次去agendaDay(這可以很容易地每次添加事件雖然補救)。如果你描述你真正想做的事情,那麼可能有更好的解決方案。