jquery - FullCalendar View 在加载时未显示

标签 jquery html parse-platform fullcalendar

我正在为我工​​作的新网站使用 FullCalendar。我有两个附有日历的 div。第一次加载如预期...没有问题。第二个是问题。它加载带有按钮和标题的标题,但 View div 是空的。我检查了错误,并没有抛出任何错误。如果我单击任何标题按钮, View 将按预期显示。我想这可能是两个日历之间的冲突,但似乎不是问题所在。请参阅下面的代码,让我知道您的想法。我正在使用 Parse 后端,它似乎工作得很好,还有 jQuery。事件调用相同的函数来加载事件,它也能正常工作。

第一个日历代码:

       $('#calendar').fullCalendar({    
            timezone: 'local',
            events: function( start, end, timezone, callback ) {        
                callback(getEvents(events, start, end));
            },
            color: 'lightBlue',
            textColor: 'gray',
            eventMouseover: function( calEvent, jsEvent, view ) {
                var $target = $(jsEvent.target).css('cursor', 'pointer');
                var location = userData.locations[calEvent.location.id];
                var event = userData.events[calEvent.eventData.id];
                var options = {
                    items: $target.parent(),
                    content: function() {
                        var info = "Event: <b>" + calEvent.title + "</b><br/><center>" + calEvent.description + "</center><br/>Date: " + moment(calEvent.start).format("MM/DD/YYYY h:mma - ") + moment(calEvent.end).format("h:mma") + '<br/>Frequency: ' + event.get('eventFrequency') + '<br/> Frequency End Date: ' + moment(event.get('eventEndDate')).format('MM/DD/YY') + '<br/>Location: <center>' + location.get("locationName") + '<br/>' + location.get('locationAddress') + location.get('locationAddress2') + "<br>" + location.get('locationCity') + ', ' + location.get('locationState') + ' ' + location.get('locationCountry') + ' ' + location.get('locationPostalCode') + "</center><br/><center>Click Event to Edit";
                        return info;
                    }
                };
                $(view.el).tooltip(options);
            },
            eventMouseout: function( calEvent, jsEvent, view ) {
                $(view.el).tooltip('destroy');
            },
            eventClick: function(calEvent, jsEvent, view) {
                console.log(calEvent);
                console.log(jsEvent);
                console.log(view);
                userData.currentLocation = {};
                var location = userData.currentLocation['location'] = userData.locations[calEvent.location.id];
                var query = new Parse.Query('Event');
                query.equalTo('user', currentUser);
                query.equalTo('parent', location);
                query.find().then(function(events) {
                    userData.currentLocation.events = events;   
                    addRow(calEvent.eventData);
                    $('#add-location').text('Back to Calender').off().one('click',showCalendar);
                }, function(error) {
                    errorMessage(error);
                });
            },
            header: {
                left:   'title',
                center: '',
                right:  'today prev,next'
            },
            buttonIcons: {
                prev: 'left-single-arrow',
                next: 'right-single-arrow',
            },
            dayClick: function(date, jsEvent, view) {

            }
         });

加载屏幕截图...完美运行。

Screenshot on load...works perfectly.

第二日历...没那么多。这是代码:

    $('#kp-agenda-view').fullCalendar({
            header: {
                left:   'prev,next today',
                center: 'title',
                right:  'month,agendaWeek,agendaDay'
            },
            defaultDate: '05-05-2015',
            allDay: false,
            color: 'lightBlue',
            textColor: 'gray',
            timezone: 'local',
            overlap: false,
            editable: true,
            buttonIcons: {
                prev: 'left-single-arrow',
                next: 'right-single-arrow',
            },
            events: function(start, end, timezone, callback) {
                callback(getEvents(userData.currentLocation.events, start, end));
            },
        })

View Not Loaded

单击任何标题按钮后(我单击“今天”)... View 已加载

View Loaded after clicking a header button

不太确定发生了什么,我似乎无法在网络上找到任何类似的条目。提前致谢,如果需要更多信息,请告诉我。

最佳答案

我知道这有点太晚了,但看看这个问题: FullCalendar Within Twitter Bootstrap Tabs 如果 fullcalendar 在未显示的元素中,它似乎不会加载。如果是这种情况,简单的“shotgun”解决方案是通过

强制渲染
$('#kp-agenda-view').fullCalendar('render');

当日历显示时。

关于jquery - FullCalendar View 在加载时未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28599106/

相关文章:

jQuery 拖放到滚动 div - 拖放的元素不滚动

javascript - 在以下场景中如何访问 json 数据并在 if 条件中使用?

javascript - 我可以在 Node.js 中使用 jQuery 吗?

javascript - 使用 jQuery 定位一组重复元素

javascript - Jquery 显示不使用效果

html - Google 如何抓取动态页面?

javascript - 在点击事件处理程序触发之前更改复选框的状态是否存在错误?

ios - 如何在 Swift 中将数组存储到 PFFile 中?

ios - 通过 createdAt 快速排序解析结果

parse-platform - 下载云代码内容和虚拟主机文件