2016-08-24 2 views
0

Ich verwende FullCalender, um den Kalender anzuzeigen und den Benutzern zu ermöglichen, Ereignisse im Kalender mit einer dynamischen Dauer zu erstellen, die aus einem Dropdown ausgewählt werden kann.Deaktivierung beim Auswählen der Uhrzeit beim Erstellen eines Ereignisses

Wenn ein Benutzer nur auf den Kalender KLICKT, bekomme ich das gewünschte Ergebnis, dass nur die gewünschte Dauer ausgewählt ist. welches ist richtig.

Aber das Problem ist, wenn ein Benutzer klickt und weiterhin DRAG, um einen Zeitbereich auszuwählen. Ich möchte nicht, dass der Benutzer in der Lage ist, mehr als die spezifizierte Dauer zu wählen, d.h. 5 Minuten. Nur CLICKing wählt 5 Minuten und das funktioniert einwandfrei. Das einzige Problem ist beim DRAGING mit CLICKing.

Ich habe verschiedene Optionen in der Vollkalender-Dokumentation ausprobiert, aber nichts half.

Jede Hilfe wird geschätzt. Danke im Voraus.

Aktuelle Integration ist in dem unten stehenden Link zum Fiddle

https://jsfiddle.net/4h28Lt81/

JQuery ist wie folgt:

$('#calendar').fullCalendar({ 
    header: { 
    left: 'prev,next today', 
    center: 'title', 
    right: 'month,agendaWeek,agendaDay' 
    }, 
    defaultView: 'agendaDay', 
    slotDuration: '00:05:00', 
    slotEventOverlap: false, 
    defaultDate: '2016-06-12', 
    selectable: true, 
    selectHelper: true, 
    select: function(start, end) { 
    var title = prompt('Event Title:'); 
    var eventData; 
    if (title) { 
     eventData = { 
     title: title, 
     start: start, 
     end: end 
     }; 
     $('#calendar').fullCalendar('renderEvent', eventData, true); 
    } 
    $('#calendar').fullCalendar('unselect'); 
    }, 
    editable: true, 
    eventLimit: true, // allow "more" link when too many events    
    loading: function(bool) { 
    $('#loading').toggle(bool); 
    }, 
    eventRender: function(event, el) { 
    // render the timezone offset below the event title 
    if (event.start.hasZone()) { 
     el.find('.fc-title').after(
     $('<div class="tzo"/>').text(event.start.format('Z')) 
    ); 
    } 
    }, 
    eventClick: function(calEvent, jsEvent, view) {} 
}); 

Antwort

1

ich wie in der Lage fühlen zu klicken und ziehen Sie, wie viel Zeit Sie wünschen für Ein Ereignis ist kein Problem. Das ist, es sei denn, ich verpasse etwas in Ihrer Frage. Wird angenommen, dass der Benutzer nur 5-Minuten-Segmente blockieren muss?

Wenn Sie es wirklich wollen, um zu verhindern Ziehen Sie es durch jQueryUI deaktivieren

myObject.draggable('disable') 

hoffe, das hilft!

+0

Dank @Turk. Habe es zur Arbeit gebracht. Ihre Antwort hat mir geholfen, zur Lösung zu kommen. – Sanchit

Verwandte Themen