我想突出显示某些日子(通过我可以根据自己的喜好设计的AJAX Feed获得),然后能够捕获这些日子的点击事件:
我看过events
handler,但是它显然是设计来显示单个事件的,我不确定是否可以调整它来做我想要的事情。您能找出一种方法来仅将类名添加到那些日子,然后使用CSS设置其样式吗?
我正在使用FullCalendar v2.3.2(升级并不是真正的选择,因为它已在整个站点中使用)。
最佳答案
我已修改为假装ajax调用,..基本上等待1秒钟,就好像在进行ajax调用等一样,然后重新渲染。
唯一不好的是我如何进行刷新,可能会有更好的方法。 render方法不会重新渲染视图。
然后,您可以根据从ajax获得的数据进行修改以做其他工作。
var dtoday = moment().dayOfYear();
var days = [];
function pretendAjax() {
setTimeout(function () {
days = [dtoday - 2, dtoday + 2];
//force calendar refresh, there might be a better
//way than below, but will do for now
$('#calendar').fullCalendar('changeView','basicWeek');
$('#calendar').fullCalendar('changeView','month');
}, 1000);
}
$('#calendar').fullCalendar({
dayRender: function (date, cell) {
var dofyear = date.dayOfYear();
if (days.indexOf(dofyear) >= 0) {
cell.css({backgroundColor: 'pink'});
}
},
});
pretendAjax();
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/moment.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.min.js"></script>
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.min.css' />
<div id='calendar'></div>
关于javascript - 突出特定的日子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40421689/