Любой способ сделать интервал времени не кликабельным в fullcalendar? - PullRequest
4 голосов
/ 20 мая 2011

Я хочу, чтобы временные интервалы, занятые событиями, не были кликабельными.Если я просто установлю свойство события editable на false, это не поможет: я все еще могу щелкнуть рядом с этим событием.Есть ли способ сделать все интервалы времени, занятые событием, не кликабельными? Может быть, как-нибудь растянуть его ширину, чтобы охватить весь день (на самом деле, это было бы желательным поведением)?

Ответы [ 2 ]

1 голос
/ 23 мая 2011

Этот код срабатывает, если день занят событием. Так что в теории вы можете заблокировать щелчок, выполнив return false; в этой логике.

http://jsfiddle.net/ppumkin/2QAY4/

Код, который делает магию, нуждается в jquery. и вам нужен этот кусок кода.

  dayClick: function(date, allDay, jsEvent, view) {

    if ($('div.fc-event').length > 0) {
        //
        var containerD = $(this).offset();
        var containerH = $(this).height();
        var mousex = jsEvent.pageX;

        $('div.fc-event').each(function(index) {
            var offset = $(this).offset();

            if (((offset.left + $(this).outerWidth()) > mousex && offset.left < mousex) && ((offset.top > containerD.top) && (offset.top < (containerD.top + containerH)))) {

                alert($(this).html());
                //This will only fire if an empty space is clicked
                //This will not fire if an event is clicked on a day
            }
        });

    }
    else {
        //Put code here to do things if no events on a day
        alert('There are no events on this day');
    }
},
0 голосов
/ 23 мая 2011

Ну, вы можете растянуть события на полную высоту дня, используя следующий CSS:

.fc-event-skin { height: 60px; }

Но я бы назвал это обходным путем.

fullCalendar предназначен дляотображать несколько событий в день.Следовательно, столбцы достаточно малы для отображения перекрывающихся событий.

Лучшим решением для системы бронирования будет календарь, который не поддерживает перекрывающиеся события.К сожалению, я не могу порекомендовать ни одного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...