我正在使用fullcalendar with month,agendaWeek和agendaDay(with resources)视图,我在agendaDay视图中遇到了Today按钮的一些问题。虽然Prev和Next按钮按预期工作,但我需要单击Today按钮两次以触发click事件,即使它只需要在其他视图中单击一次。
$('#calendar').fullCalendar({
...
viewRender: function () {
var $todayButton = $('.fc-today-button');
$todayButton.removeClass('fc-state-disabled');
$todayButton.prop('disabled', false);
},
...
});
$(document).on('click', '.fc-prev-button, .fc-today-button, .fc-next-button', function () {
console.log('CLICKED!');
});
更新:当我从fullcalendar设置中删除这些行时,问题就消失了:
$('#calendar').fullCalendar({
...
refetchResourcesOnNavigate: true,
resources: '/my-path/resources',
...
});
答案 0 :(得分:0)
我通过添加自定义按钮并重现其功能解决了我的问题。这是一种解决方法,但它就像一个魅力。
$('#calendar').fullCalendar({
customButtons: {
todayButton: {
text: 'today'
}
},
header: {
left: 'todayButton prev,next',
...
},
...
});
$(document).on('click', '.fc-todayButton-button', function () {
var todayDate = moment().format('YYYY-MM-DD');
$('#calendar').fullCalendar('gotoDate', todayDate);
+ NEEDED ACTIONS FOR RENDERING EVENTS
});
答案 1 :(得分:0)
这似乎是一个老问题,但是如果有人仍在寻找没有解决方法的解决方案,则可以尝试使用mousedown
而非click
,这样可以在fullcalendar的默认操作之前触发它。
具体来说,这对我有用:
.on('mousedown', '.fc-today-button', function() {
// something here
})