在fullcalendar.js中,如何将eventLimit设置为仅应用于某些事件?

时间:2016-09-08 16:09:36

标签: javascript jquery fullcalendar

我正在使用FullCalendar.js,并且有一些我要崩溃的事件(使用eventLimit),但是我总是希望在日历上显示其他事件。 FullCalendar可以实现吗?

如果没有,这是否可以对来源进行简单的更改?我查看了这些事件,但看不到一种方法可以轻松指定要应用的eventLimit代码的特定事件。

1 个答案:

答案 0 :(得分:0)

通过执行以下操作实现此目的:

添加/创建事件时,我为其添加了一个名为isLimited的新属性,并将其设置为true(此属性除了start之类的正常属性外,{ {1}},id等)。这允许我定义eventLimit将隐藏哪些事件。

接下来,在配置中的title函数中,我添加了这个:

eventRender

我用这个类来定位我想要隐藏的元素。为了做到这一点,在fullcalendar.js中,在if (event.isLimited) element.addClass('isLimited'); 函数中(约4937行左右,至少对我而言)我改变了这个:

limitRow

对此:

limitedNodes = rowStruct.tbodyEl.children().slice(levelLimit) // get level <tr> elements past the limit
   .addClass('fc-limited').get(); // hide elements and get a simple DOM-nodes array

然后,在同一个文件中,围绕第5204行左右,在limitedNodes = rowStruct.tbodyEl.children().slice(levelLimit) // get level <tr> elements past the limit .find('td.isLimited').addClass('fc-limited').get(); // hide elements and get a simple DOM-nodes array 函数中,我改变了这个:

getCellSegs

对此:

if (seg) {
    segs.push(seg);
}

这使得日历仅计算{&#34;更多&#34;的if (seg && seg.event.isLimited) { segs.push(seg); } 事件。链接。最后我将其作为isLimited函数添加到日历配置中:

eventAfterAllRender

这是&#34;更多&#34;在其他事件之后,链接将始终位于行的底部。