我正在使用fullcalendar插件,只是想问我如何将selectOverlap: false
属性应用于周和日视图,而不应用于月视图。
例如,如果我将每周的视图更改为一个月,则selectOverlap
应该为true;否则,如果我从一个月的视图更改为任何其他视图,selectOverlap
应该为false,但是请记住,我没有重新加载整个页面。
这是我想要的,因为如果我在月份视图中有一些数据,并且尝试选择月份,则该月份应该是可选的,在这里它不起作用,因为考虑了整个月份的重叠。
所以我希望它在月视图中应该可以选择,并且可以像在周日视图中那样工作(不能重叠)。
我试图将视图添加到本地存储中并放入条件
selectOverlap: localStorage.getItem('viewName') === "month" ? true : false
因此,它既适用于月视图,又适用于周和日视图,但不能同时适用于两者
selectOverlap: localStorage.getItem('viewName') === "month" ? true : false
这里的localStorage.getItem('viewName')
提供了正确的视图名称,但是由于这些属性仅在页面加载时才应用,因此我无法在更改视图时进行更改,因此我需要selectOverlap
属性每月视图应为true,其余视图应为false,而无需一次又一次重新加载页面。
答案 0 :(得分:0)
您提到了
因为这些属性仅在页面加载时才应用,所以没有 我可能会改变视角
这是正确的,但是已经有避免这种问题的方法。根据{{3}},您可以提供回调函数而不是固定值。每次发生重叠时,fullCalendar都会执行此操作,因此它可以在那一刻动态评估情况。
这样,您可以documentation for selectOverlap并据此做出决定。例如:
selectOverlap: function(event) {
return ($('#calendar').fullCalendar('getView').name == "month");
}
只要视图类型为“月”,此方法都将返回true,从而使重叠继续进行。