Javascript 如何使用户能够在全天和非全天之间自由放置事件?

Javascript 如何使用户能够在全天和非全天之间自由放置事件?,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我想使用户能够自由地将事件从一天放到另一天,或者从一天放到另一天 我有这段eventDrop代码 eventDrop: function (event, delta, revertFunc, jsEvent, ui, view, dayDelta, minuteDelta, calEvent, allDay, start, end) { var cCheck = event.start.toJSON().slice(0,10); v

我想使用户能够自由地将事件从一天放到另一天,或者从一天放到另一天

我有这段eventDrop代码

eventDrop: function (event, delta, revertFunc, jsEvent, ui, view, dayDelta, minuteDelta, calEvent, allDay, start, end) {
                var cCheck = event.start.toJSON().slice(0,10);
                var cToday = new Date().toJSON().slice(0,10);
                if(cCheck < cToday){
                    revertFunc();
                    alert("You are FORBIDED to drop an event on past dates");
                }
                else{
                    if (!confirm("Are you sure you want to move " + event.title + " to this date "+JSON.stringify(event.start)+" ?")) {
                        revertFunc();
                        //self.$el.fullCalendar("refetchEvents");
                        console.log(event);
                    } else {


                            var deltaId = event.id;
                            var deltaStart = event.start;
                            var deltaEnd = event.end;
                            var dropDelta = JSON.parse(localStorage["events"]);
                            for (var i = 0; i < dropDelta.length; i++) {
                                if(dropDelta[i].id == deltaId){
                                    alert(JSON.stringify(dropDelta[i].id)+"<<<>>>"+deltaId);
                                    alert(JSON.stringify(dropDelta[i].start)+"<<<>>>"+deltaStart);
                                    alert(JSON.stringify(dropDelta[i].end)+"<<<>>>"+deltaEnd);                                      
                                    dropDelta[i].start = deltaStart;
                                    // This is where complicated begins
                                    if(dropDelta[i].allDay == true){
                                        if(deltaEnd == null){
                                            dropDelta[i].allDay == false;
                                        }
                                        else{
                                            dropDelta[i].end = deltaEnd;
                                        }
                                    }
                                    else{
                                        if(deltaEnd == null){
                                            //something happen
                                        }
                                        else{
                                            //something happen
                                        }
                                    }
                                    break;
                                }
                            }   
                            localStorage.setItem('events', JSON.stringify(dropDelta));
                            alert("Successful");


                    }
                }
            },
eventDrop:function(事件、增量、恢复函数、jsEvent、ui、视图、日增量、分钟增量、calEvent、全天、开始、结束){
var cCheck=event.start.toJSON().slice(0,10);
var cToday=new Date().toJSON().slice(0,10);
如果(cCheck
我在if语句上遇到问题。我不知道如何使它合乎逻辑。我想得越多,就越糊涂@_@

这是我的创建新事件代码。也许这会帮助你们更多地了解我的问题

select: function (start, end, allDay, event ) {
                var cCheck = start._d.toJSON().slice(0,10);
                var cToday = new Date().toJSON().slice(0,10);
                if(cCheck < cToday){
                    alert("You are FORBIDED to create event on past dates");
                }
                else{
                    var title = prompt('Event Title:');
                    var index=localStorage.getItem("MaxIndex");
                    var eventData = [];
                    if (title) {
                        eventData = {
                            id: 'ef'+index++,
                            title: title,
                            start: start,
                            end: end,
                            //allDay: true,
                        }
                        alert(eventData);
                        self.$el.fullCalendar('renderEvent', eventData, true);
                        events.push(eventData);
                        alert(eventData);
                        localStorage.setItem('MaxIndex', index);
                        localStorage.setItem('events', JSON.stringify(events));
                        self.$el.fullCalendar('removeEventSource', eventData );
                        self.$el.fullCalendar('addEventSource', eventData );
                        console.log(eventData);
                    }
                }
                self.$el.fullCalendar('unselect');
            },
选择:功能(开始、结束、全天、事件){
var cCheck=start.\u d.toJSON().slice(0,10);
var cToday=new Date().toJSON().slice(0,10);
如果(cCheck
附加说明:

我使用
如果(deltaEnd==null)
是因为每次我将事件从全天放到非全天,结束日期都变为null。忘了提一下,我正在使用fullCalendar