javascript - 如何从 FullCalendar 中删除此事件?

标签 javascript jquery fullcalendar

日历允许用户将时间段拖到日历上,但是我希望他们能够在单击它时将其删除。

所以在 eventClick 中我有这个功能:

function (calEvent) {
  removeRequestedEvent($(this), calEvent);
},

它只是传递日历事件和日历本身。

removeRequestedBooking: function (cal, calEvent) {
    if (!confirm("Delete?"))
        return;

    cal.fullCalendar("removeEvents", calEvent.id);
    cal.fullCalendar("rerenderEvents");

    // Re-show draggable element
    $("#requests #" + calEvent.id).show();
}

我也尝试过使用过滤器,但 return 语句上的断点永远不会被命中。

    cal.fullCalendar("removeEvents", function (event) {
        return event.id == calEvent.Id;
    });

有什么想法吗? (我知道 ID 是正确的,最后一行有效)。 Firebug 在 JavaScript 中没有显示任何错误。

我正在使用 FullCalendar v1.4.10

最佳答案

当您准备好所有 ID 后,请使用 Tuan 的解决方案。

但是,当您的事件中没有 id 时,请这样做(当您设置了 id 时,此操作也有效):

eventClick: function(event){
   $('#myCalendar').fullCalendar('removeEvents',event._id);
}

为什么会出现这个问题? 常见的原因是当您添加新事件时,fullcalendar 不会自动添加 id。如果是这样,您传递的 id 是未定义的。当您尝试使用 id 或过滤器进行删除时,Fullcalendar 在这两种情况下都会使用 id。因此,当它的值未定义时,它总是返回 false。意味着要删除的元素列表始终为空。

关于javascript - 如何从 FullCalendar 中删除此事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649357/

相关文章:

javascript - 在我的 <li></li> 元素之前和之后注入(inject) html 标签 <ul></ul>

javascript - 具有数字格式的 Jquery keydown() 在 android webview 上无法正常工作

javascript - CSS3 Jquery Gradients - 有没有办法读取值集?

angularjs - Fullcalendar Angular/Node.JS http 请求 : TypeError: Converting circular structure to JSON (at Object. stringify)

javascript - 不稳定行为加载 2 个 JSON 事件源(一个必须是后台事件)

javascript - 如何在 NextJS 10 中初始化 webworker?

javascript - 如何从对象数组中获取特定数据并将其存储在js(vue js)中的新数组中

jquery - 根据窗口滚动条移动调整div位置

jquery 如何切换鼠标输入或悬停?

javascript - 全日历事件渲染