2015-10-02 90 views
0

是否可以隐藏背景事件中的事件,以便用户看不到它? 如果是,那么做什么方法?Fullcalendar后台事件

var isValidEvent = function(start,end,id){ 
return $("#calendar").fullCalendar('clientEvents', function (event) { 
    return (event.rendering === "background" && id!='test' && 
      (start>event.start) && (end<event.end)) ; 
}).length > 0; 
}; 

eventRender:function(event, element, view) if(isValidEvent(event.start,event.end,event.id)){ 
       $(element).hide(); 
     }, 

回答

0

由于docs的,eventRender回调要么返回一个事件或false如果事件应该被隐藏:

eventRender:function(event, element, view) 
     if(isValidEvent(event.start,event.end,event.id)){ 
      return event; 
     } 
     else { 
      return false; 
     } 
}, 

我没有测试过,因为我并不需要它,但应该这样工作。

+0

我有两个eventsources'eventSources:[{ \t \t \t \t \t \t \t \t \t \t网址: “indispo.php”, \t \t \t \t \t的className: '假日',/ **/ \t \t \t \t \t重叠:假, \t \t \t \t \t渲染: '背景', \t \t \t \t \t颜色: '#FF0000', \t \t \t \t \t \t \t \t \t}, \t \t \t \t { \t \t \t \t网址:'事件。 php', \t \t \t \t} \t],' –

+0

并且我希望eventsource events.php不会显示在indispo.php中,它正在渲染背景 –

0

我得到这样的:

eventRender:function(event, element, view){ 
    var array= new Array(); 
    array = $("#calendar").fullCalendar('clientEvents','test'); 
for(i of array){ 
    if(event.source.url=="events.php" && moment(event.start)>=moment(i.start) && moment(event.end)<=moment(i.end)){ 
     return false; 
    } 
}  } 

感谢亲爱的家伙!

+0

您能否在[编辑]中解释为什么此代码会回答问题,以及为什么需要与其他答案不同的东西?仅限代码答案[阻止](http://meta.stackexchange.com/q/148272/274165),因为他们没有教导解决方案。 –