javascript - fullcalendar- 无法获取点击事件的日期

标签 javascript jquery fullcalendar

我正在设置一个从后端获取事件并显示它的完整日历。此外,用户可以删除事件。

我想做的是获取点击事件的日期。用户可以单击事件并将其删除。但我想获取该事件的日期并通过 ajax 调用将日期传递给后端服务。

// FullCalendar v1.5
// Script modified from the "theme.html" demo file
$(document).ready(function() {

  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();

  $('#calendar').fullCalendar({
    theme: true,
    header: {
      left: 'prev,next today',
      center: 'title',
      right: 'month,agendaWeek,agendaDay'
    },
    editable: true,

    // add event name to title attribute on mouseover
    eventMouseover: function(event, jsEvent, view) {
      if (view.name !== 'agendaDay') {
        $(jsEvent.target).attr('title', event.title);
      }
    },
    eventDestroy: function(event, element, view) {
      alert("removing stuff");
    },
    eventClick: function(date,calEvent, jsEvent, view) {
      alert('Clicked on: ' + date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear());
    //pass it to ajax function. Ajax function comes here
      var r = confirm("Delete " + calEvent.title);
      if (r === true) {
        $('#calendar').fullCalendar('removeEvents', calEvent._id);
      }
    },

    // For DEMO only
    // *************
    events: [{
      title: 'All Day Event',
      start: new Date(y, m, 1)
    }, {
      title: 'Long Event',
      start: new Date(y, m, d - 5),
      end: new Date(y, m, d - 2)
    }, {
      id: 999,
      title: 'Repeating Event',
      start: new Date(y, m, d - 3, 16, 0),
      allDay: false
    }, {
      id: 999,
      title: 'Repeating Event',
      start: new Date(y, m, d + 4, 16, 0),
      allDay: false
    }, {
      title: 'Meeting',
      start: new Date(y, m, d, 10, 30),
      allDay: false
    }, {
      title: 'Lunch',
      start: new Date(y, m, d, 12, 0),
      end: new Date(y, m, d, 14, 0),
      allDay: false
    }, {
      title: 'Birthday Party',
      start: new Date(y, m, d + 1, 19, 0),
      end: new Date(y, m, d + 1, 22, 30),
      allDay: false
    }, {
      title: 'Click for Google',
      start: new Date(y, m, 28),
      end: new Date(y, m, 29),
      url: 'http://google.com/'
    }]
  });

});

我试图提醒事件点击的日期,但我没有收到。我该如何解决这个问题?

FIDDLE

最佳答案

FullCalendar v4 现在在 eventClick 事件上只有一个参数:

var calendar = new Calendar(calendarEl, {
      eventClick: function(info) {
          var eventDate = info.event.start; 
          console.log(eventDate);
          //example output: "Wed Oct 02 2019 00:00:00 GMT-0600 (Central Standard Time)"
    },
});

Documentation: eventClick | Event Object

关于javascript - fullcalendar- 无法获取点击事件的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41479497/

相关文章:

javascript - document.getElementbyID 与变量声明和删除性能

javascript - 从父级访问在子域上设置的 cookie

javascript - 如果 Angular 模型中没有数据则显示消息

javascript - 将鼠标悬停在关闭按钮上时,手不会出现

jQuery - 如果输入内容多于或少于 10 个字符

jquery - 添加的表格行最终位于表格上方而不是表格中

javascript - 如何更改 jquery 数据表列的颜色

javascript - 从数组中设置 fullcalendar 中的事件

jquery - FullCalendar 标题按钮垂直

jquery - 更改 eventClick 仅在 jQuery FullCalendar 插件中双击时发生