我正在使用 Fullcalendar.js 并为每个事件设置一个简单的上下文菜单,该菜单具有指定的功能(确认医疗预约时更改状态)。仅当我在一天中有一个事件(eventRender)时,下一个代码示例才能正常工作:
eventRender: function(event, element) {
var originalClass = element[0].className;
element[0].className = originalClass + ' hasmenu';
$('#calendar2').contextmenu({
delegate: '.hasmenu',
menu: [{
title: 'Cambiar Estado',
cmd: 'cestado',
action: function(ui){ui.cmd = "cestado";confirmarCambioEstado(event);}
}, {
title: 'Atender Cita',
cmd: 'acita',
action: function(ui){ui.cmd = "acita";if(event.color=="#0088cc"){
actualizarEstado(3,event.id);
event.color = "yellowgreen";
calendarJ.fullCalendar('rerenderEvents');
hrefHCE.href = "HCE?idCita="+event.id;
hrefHCE.click();
}else{
advertenciaEstado();
}}
},{
title: 'Cancelar Cita',
cmd: 'ccita',
action: function(ui){ui.cmd = "ccita";event.color = "green";
confirmarCambioEstado(event);}
}, {
title: 'Eliminar Cita',
cmd: 'ecita',
action: function(ui){ui.cmd = "ecita";confirmarEliminar(event);}
}],
beforeOpen: function (event,ui) {
ui.menu.zIndex($(event.target).zIndex() + 1);
}
});
},
eventDrop: function(event, delta, revertFunc){
confirmarCambioFecha(event,revertFunc);
},
eventAfterAllRender: cambiarFuncion
});
但是,只能像我想要的那样工作一天。当我在同一天有两个或更多事件时,当在 contextMenu 中应用函数时,它只使用当天的最后一个事件(如果我有 3 个事件,函数适用于最后一个事件,而不适用于我要应用功能的指定事件)
我如何对每个事件应用相同的处理而没有我所显示的问题?我试着写一个 forEach 句子,但我不知道我在做什么