javascript - Javascript - jQuery FullCalendar默认结束事件的结束时间

删除新事件时,它有开始时间,但是没有结束时间,默认情况下,似乎所有这些事件都是"all day"事件,我尝试将allDay回调改为false: http://arshaw.com/fullcalendar/docs/dropping/drop/

但是没用,我试图把它拿到一个新的事件,它的结束时间设定为30分钟后的时间,我的defaultEventMinutes的设置)http://arshaw.com/fullcalendar/docs/agenda/defaultEventMinutes/

谁知道怎么做?

这是我当前的完整日历功能:


$('#calendar').fullCalendar({


 header: {


 left: 'prev,next today',


 center: 'title',


 right: 'agendaWeek,agendaDay'


 },



 events: {


 url: 'json-events.php',


 type: 'POST',


 data: {



 },


 error: function() {


 alert('there was an error while fetching events!');


 },



 },



 allDaySlot: false,


 defaultView: 'agendaWeek',


 slotMinutes: 15,


 firstDay: '<?php echo $config->week_start; ?>',


 minTime: '<?php echo $config->day_start; ?>',


 maxTime: '<?php echo $config->day_end; ?>',


 defaultEventMinutes: 30, 


 aspectRatio: 1.1, 



 titleFormat: {


 month: 'MMMM yyyy', 


 week:"MMMM dd[ yyyy]{ '&#8212;'[ MMMM] dd, yyyy}", 


 day: 'dddd MMM dd, yyyy' 


 },



 columnFormat: {


 month: 'ddd', // Mon


 week: 'ddd M/dd', // Mon 9/07


 day: 'dddd M/dd' // Monday 9/07


 },



 editable: true,


 droppable: true, 


 drop: function(date, allDay) { 



 var originalEventObject = $(this).data('eventObject');


 var copiedEventObject = $.extend({}, originalEventObject);



 copiedEventObject.start = date;


 //copiedEventObject.allDay = allDay; // Can I make this 30min by default drop?


 copiedEventObject.end = (date.getTime() + 1800000)/1000;


 copiedEventObject.group_id = $(this).attr("name"); // Group ID



 addEvent(copiedEventObject); // Add the event to the db



 $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);



 if ($('#drop-remove').is(':checked')) {


 $(this).remove();


 } 



 }


});



时间:

我正在使用这个:


 $('#calendar').fullCalendar({



 allDayDefault: false



});



在每次事件中,你都只能显示开始时间。

使用新的Date(...)填充copiedEventObject.end :


 copiedEventObject.end =new Date(date.getTime()+900000);



开始时间增加了15分钟(900000毫秒)。

我发现了同样的问题,解决方案是,在将要删除的项目中的DOM对象上设置一个开始/结束属性。

例如,


$('#external-events div.external-event').each(function() {



// create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)


// it doesn't need to have a start or end


// use the element's text as the event title


// set a start and end placeholder for the object!


var eventObject = {


 title: $.trim($(this).text(), start: null, end: null)


};



我解决了这个问题


 defaultTimedEventDuration: '01:00',


 forceEventDuration: true,



来自Doc:

如果未指定事件结束,则将使用defaultTimedEventDuration或defaultAllDayEventDuration计算它,并分配给事件对象。

...