добавление события клика в fullcalendar - PullRequest
9 голосов
/ 26 марта 2010

Как я могу добавить событие click для события и передать день и время события как переменную URL на другую страницу? Когда пользователь нажимает на событие, я хочу передать дату и время события на другую страницу для обработки.

Ответы [ 6 ]

20 голосов
/ 26 марта 2010
$('#calendar').fullCalendar({
    eventClick: function(calEvent, jsEvent, view) {
        window.location = "http://www.domain.com?start=" + calEvent.start;

    }
});

Смотрите здесь для получения дополнительной информации: http://arshaw.com/fullcalendar/docs/mouse/eventClick/

2 голосов
/ 04 сентября 2012

обратный вызов для клика по сетке дат:

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

обратный вызов для события щелчка:

eventClick: function(event) {
...
}

Вы можете попробовать демо в реальном мире: http://www.gbin1.com/technology/jquery/devappwithfullcanlendar/gbin1schedule.htm

1 голос
/ 02 сентября 2016

Я знаю, что это старый пост, но я искал что-то подобное сегодня утром. Я чувствую, что мое решение было намного проще после просмотра некоторых других решений. Во-первых, я использую шрифт awesome в теге привязки.

Я хотел отобразить событие в моем календаре, когда пользователь щелкнул по событию. Поэтому я кодировал отдельный тег примерно так:

<div id="eventContent" class="eventContent" style="display: none; border: 1px solid #005eb8; position: absolute; background: #fcf8e3; width: 30%; opacity: 1.0; padding: 4px; color: #005eb8; z-index: 2000; line-height: 1.1em;">
    <a style="float: right;"><i class="fa fa-times closeEvent" aria-hidden="true"></i></a><br />
    Event: <span id="eventTitle" class="eventTitle"></span><br />
    Start: <span id="startTime" class="startTime"></span><br />
    End: <span id="endTime" class="endTime"></span><br /><br />
</div>

Мне проще использовать имена классов в моем jquery, поскольку я использую asp.net.

Ниже приведен jquery для моего приложения fullcalendar.

<script>

    $(document).ready(function() {

        $('#calendar').fullCalendar({
            googleCalendarApiKey: 'APIKEY',
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            events: {
                googleCalendarId: '@group.calendar.google.com'
            },
            eventClick: function (calEvent, jsEvent, view) {
                var stime = calEvent.start.format('MM/DD/YYYY, h:mm a');
                var etime = calEvent.end.format('MM/DD/YYYY, h:mm a');
                var eTitle = calEvent.title;
                var xpos = jsEvent.pageX;
                var ypos = jsEvent.pageY;
                $(".eventTitle").html(eTitle);
                $(".startTime").html(stime);
                $(".endTime").html(etime);
                $(".eventContent").css('display', 'block');
                $(".eventContent").css('left', '25%');
                $(".eventContent").css('top', '30%');
                return false;
            }
        });
        $(".eventContent").click(function() {
            $(".eventContent").css('display', 'none');
        });
    });

</script>

Вы должны иметь свой собственный идентификатор календаря Google и ключи API.

Надеюсь, это поможет, когда вам нужно простое всплывающее окно

1 голос
/ 11 апреля 2012

Вот как я вызываю диалог и заполняю его:

$('#calendar').fullCalendar({ 
    dayClick: function (date, allDay, jsEvent, view) {  
        $("#dialog").dialog('open');
    },   
});

$("#dialog").dialog({
    autoOpen: false,
    height: 350,
    width: 700,
    modal: true,
    buttons: {
        'Create event': function () {
            $(this).dialog('close');
        },
        Cancel: function () {
            $(this).dialog('close');
        }
    },

    close: function () {
    }

}); 
1 голос
/ 02 декабря 2010

Хорошо, похоже, я ответил на свой вопрос. Функция Javascript escape() делает свое дело.

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