jQuery Fullcalendar-每个事件将可编辑事件更改为不可编辑(反之亦然)

jQuery Fullcalendar-每个事件将可编辑事件更改为不可编辑(反之亦然),fullcalendar,Fullcalendar,我一直在玩官方日历 无法找到使事件不可编辑(或可编辑)的方法 在演示中,全局选项设置为:editable:true。如果我尝试更改每个事件的此设置,请执行以下操作: eventRender: function(event, element){ event.editable=false; } 没有什么变化。事件仍然都是可编辑的(可调整大小、可拖动等)。我找到了这个帖子 如果建议是: editable: false, eventRender: function(event, e

我一直在玩官方日历

无法找到使事件不可编辑(或可编辑)的方法

在演示中,全局选项设置为:
editable:true
。如果我尝试更改每个事件的此设置,请执行以下操作:

  eventRender: function(event, element){
    event.editable=false;
    }
没有什么变化。事件仍然都是可编辑的(可调整大小、可拖动等)。我找到了这个帖子

如果建议是:

editable: false,
eventRender: function(event, element) {
    if(event.userId === user.id) {
        event.editable = true;
    }
}
但这不起作用。在
eventRender
eventAfterRender
下更改
event.editable
,不会产生任何效果。 是否可以动态更改此设置(每个事件)?

您可以使用函数检查事件是否具有所需的用户Id,然后将“可编辑”属性更改为true

$('#calendar').fullCalendar({
  header: {
  left: 'prev,next today',
  center: 'title',
  right: 'month,agendaWeek,agendaDay'
},
  events: 'https://fullcalendar.io/demo-events.json?overload-day',
  eventDataTransform: function(event){
  if(event.userId === user.id){
  event.editable=true;
  }
 return event;
}
});

});
编辑:我认为eventRender函数是用来修改元素的。要修改事件,应使用eventDataTransform函数,您可以使用函数检查事件是否具有所需的用户Id,然后将可编辑属性更改为true

$('#calendar').fullCalendar({
  header: {
  left: 'prev,next today',
  center: 'title',
  right: 'month,agendaWeek,agendaDay'
},
  events: 'https://fullcalendar.io/demo-events.json?overload-day',
  eventDataTransform: function(event){
  if(event.userId === user.id){
  event.editable=true;
  }
 return event;
}
});

});
编辑:我认为eventRender函数是用来修改元素的。要修改事件,应使用eventDataTransform函数