如何在日历呈现日期单元格时获取日期



我有一种情况,我需要获得每个事件url中要附加的日期(对于事件url,我使用jquery添加href属性)查询字符串,但在检查文档后,我发现eventClickeventRender都不会返回显示事件的单元格的日期。


我在谷歌上搜索了一下,发现了一些棘手的解决方案,使用eventClick回调,使用页面X和Y,然后获得最近的元素,该元素包含特定单元格日期的数据属性和日期,但

eventClick:function(event,jsEvent,view){
var clickedDate = $.nearest({x: jsEvent.pageX, y: jsEvent.pageY}, '.fc-day').attr('data-date');
alert(clickedDate);
}


但当我在同一日期单元格中有多个事件,并且弹出窗口中会显示更多事件时,此解决方案将失败。

注意:$.enear是jquery插件,用于从给定的X、Y位置中查找最近的元素



注意:我使用的是v2

这对你来说足够好吗?

http://jsfiddle.net/3E8nk/531/

$('#calendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    defaultDate: '2014-06-12',
    editable: true,
    eventRender: function(event, element, view) {
        var start = event.start.clone().startOf('day');
        var end = event.end ? event.end.clone().endOf('day') : start.clone().endOf('day');
        //Known bug: We get all "touching" events and not just necessarily events on the day we clicked
        var events = $('#calendar').fullCalendar('clientEvents');
        var touchingEvents = events.filter(function(event) {
            var
                eventStartWithin = event.start.isWithin(start, end),
                eventEndWithin = event.end ? event.end.isWithin(start, end) : false;
            return eventStartWithin || eventEndWithin;
        });
        console.log(touchingEvents);
    },
    events: [
        {
            title: 'All Day Event',
            start: '2014-06-01'
        },
        {
            title: 'Long Event',
            start: '2014-06-07',
            end: '2014-06-10'
        },
        {
            id: 999,
            title: 'Repeating Event',
            start: '2014-06-09T16:00:00'
        },
        {
            id: 999,
            title: 'Repeating Event',
            start: '2014-06-16T16:00:00'
        },
        {
            title: 'Meeting',
            start: '2014-06-12T10:30:00',
            end: '2014-06-12T12:30:00'
        },
        {
            title: 'Lunch',
            start: '2014-06-12T12:00:00'
        },
        {
            title: 'Birthday Party',
            start: '2014-06-13T07:00:00'
        },
        {
            title: 'Click for Google',
            url: 'http://google.com/',
            start: '2014-06-28'
        }
    ]
});

相关内容

  • 没有找到相关文章

最新更新