jQuery Fullcalendar - 每个事件将可编辑事件更改为不可编辑(反之亦然)
jQuery Fullcalendar - per event change editable event to non-editable (or vice versa)
我一直在玩官方全日历CodePen
并且找不到使事件不可编辑(或可编辑)的方法。
在演示中,设置了全局选项:editable: true
。如果我尝试通过以下方式更改每个事件的此设置:
eventRender: function(event, element){
event.editable=false;
}
没有任何变化。事件仍然都是可编辑的(可调整大小、可拖动……)。我找到了这个 post jquery-fullcalendar-change-editable-properties-of-particular-event-on-a-calendar
建议是:
editable: false,
eventRender: function(event, element) {
if(event.userId === user.id) {
event.editable = true;
}
}
但这不起作用。在 eventRender
或 eventAfterRender
下更改 event.editable
不会产生任何效果。
是否可以动态更改此设置(每个事件)?
您可以使用 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 函数
我一直在玩官方全日历CodePen
并且找不到使事件不可编辑(或可编辑)的方法。
在演示中,设置了全局选项:editable: true
。如果我尝试通过以下方式更改每个事件的此设置:
eventRender: function(event, element){
event.editable=false;
}
没有任何变化。事件仍然都是可编辑的(可调整大小、可拖动……)。我找到了这个 post jquery-fullcalendar-change-editable-properties-of-particular-event-on-a-calendar
建议是:
editable: false,
eventRender: function(event, element) {
if(event.userId === user.id) {
event.editable = true;
}
}
但这不起作用。在 eventRender
或 eventAfterRender
下更改 event.editable
不会产生任何效果。
是否可以动态更改此设置(每个事件)?
您可以使用 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 函数