获取FullCalendar中点击日期的事件

6

我想知道在fullcalendar中单击某一天是否可以获取该天的事件列表,数组或其他内容。

现在我从Google日历中获取事件,如果我每次想获取一天的事件就需要进行查询,这将对连接造成很大压力。我猜应该是可能的,因为你已经有了渲染事件的信息。

有一个用户向我询问代码:

dayClick: function(date, allDay, jsEvent, view) {
    console.log(date);
    console.log(allDay);
    console.log(jsEvent);
    console.log(view);

    if (allDay) {
        // alert('Clicked on the entire day: ' + jsEvent);
    }
},
eventClick: function(event) {
    if (event.url) {
        return false;
    }
}

我不明白为什么有人给我投了负分。我提出了一个问题,有人要求代码,我提供了代码但解释了为什么我没有更多的代码,然后就被投了-1分?我无法理解。


请发布一些代码,说明您已经尝试过或正在尝试做什么。 - Bob Tate
我没有代码,因为我不知道是否可能。我只有一个dayClick函数(我现在会发布),但是我无法在控制台中看到任何事件。 - Biribu
代码已添加。我不知道在这4个参数中是否可以找到事件。我在控制台中打开它们,但是什么也没找到。我不知道是否可以添加其他参数来查找事件。 - Biribu
1个回答

9
我认为您可以做类似于以下内容的事情:
dayClick: function(date, allDay, jsEvent, view) {
  var dayEvents = $('yourSelector').fullCalendar( 'clientEvents' function(event){
    return event.start.setHours(0, 0, 0, 0) === date.setHours(0, 0, 0, 0); 
    //or some way to compare that is the same day
    //I recommend momentjs lib ex moment(event.start).isSame(date,'day')
  });
}

我建议的是查询客户端事件并过滤它,检查是否为同一天。

谢谢,客户端事件是什么?我也需要更改那个变量吗?返回值会给我当天的每一个事件吗? - Biribu
2
var dayEvent = $calendar.fullCalendar('clientEvents', function(event) { return +event.start.startOf('day') == +date.startOf('day'); }); - user1021364

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接