Khi tôi thiết lập fullCalendar và đặt chức năng gọi lại eventRender, tôi muốn đặt màu của sự kiện tùy thuộc vào nếu LeadId là null hay không. Nhưng điều này dường như không hoạt động mặc dù tài liệu nói như vậy: http://arshaw.com/fullcalendar/docs/event_data/Event_Object/#color-optionsFullcalendar không hiển thị màu khi sử dụng eventRender
Có cách nào để đặt màu sự kiện thay đổi dựa trên dữ liệu không?
calendar = $('#dayview').fullCalendar({
....
timeFormat: 'HH:mm',
columnFormat: {
agendaDay: 'dddd dd/MM/yyyy'
},
eventClick: function (calEvent, jsEvent, view) {
var leadUrl = "/Leads/" + calEvent.LeadId;
window.location = leadUrl;
},
eventRender: function (event, element) {
if (event.LeadId != null) {
event.eventColor = "#B22222";
event.eventBackColor = "#B22222";
}
},
UPDATE:
Điều này thực sự kỳ lạ. Sự kiện có tất cả các thuộc tính của tôi được trả về cho sự kiện tắt máy chủ. phần tử chỉ là phần tử DOM cho sự kiện. Khi tôi kéo/di chuyển sự kiện đến một nơi khác trong lịch, sự kiện sẽ chuyển sang màu đỏ và nếu tôi kiểm tra đối tượng sự kiện, bây giờ nó có màu được đặt thành Đỏ. Vì vậy, câu hỏi là tại sao không phải là nó áp dụng trên render đầu tiên, nhưng trên renders tiếp theo (tức là sau khi di chuyển) màu sắc được áp dụng?
Cảm ơn vì điều này, có lớp .fc-event-skin là chìa khóa. Giống như vậy: var block = $ (element) .find (". Fc-event-skin"); Sau đó, chỉ cần thêm lớp. Tôi thậm chí không cần thuộc tính css quan trọng. – jaffa