如何移除FullCalendar 3.8.2的当前日期高亮效果
解决FullCalendar 3.8.2移除当前日期高亮并避免moment.js警告的问题
我刚好熟悉FullCalendar 3.x版本的细节,你遇到的这个问题是因为now: false的写法不符合moment.js的构造规则——moment不接受布尔值作为参数,所以内部会回退到原生JS Date构造,触发了弃用警告。下面给你两种靠谱的解决方案:
方案1:用CSS直接隐藏高亮(最简单)
FullCalendar会给当前日期的单元格添加fc-today类,我们只需要覆盖这个类的样式,就能去掉高亮效果,完全不需要修改JS配置,也不会有任何警告:
/* 把当前日期单元格的背景改成透明,或者和普通单元格一致的颜色 */ .fc-today { background-color: transparent !important; /* 如果连边框也想去掉,可以加上下面这行 */ border: none !important; }
方案2:正确配置now参数(纯JS方式)
如果你更倾向于通过JS配置来实现,不要传false,而是传一个永远不会出现在你的日历范围内的有效moment对象,这样FullCalendar就不会把任何日期标记为“今日”,自然也就没有高亮了:
$("#calendar-schedules").fullCalendar({ 'themeSystem': 'bootstrap3', 'height': 426, 'now': moment('1970-01-01') // 传一个不会显示在日历里的旧日期 });
简单解释下为什么这个方法有效:FullCalendar 3.x会用now参数的值来识别“今日”,当这个值不在日历的显示范围内时,就不会有任何单元格被标记为今日,高亮效果自然就消失了,同时我们传递的是合法的moment对象,不会触发警告。
希望这两种方法能帮你解决问题!
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

