fullcalendar viewRender不适合我

时间:2013-08-16 00:43:00

标签: jquery fullcalendar

大家好我正在使用arshaw fullcalendar这是一个很棒的插件,我想在视图发生变化时收到通知,以便为一个范围添加一个类。我试过了

    $('#calendar').fullCalendar({
        viewRender: function(view,element){alert("aha");},
            defaultView:'basicDay',
            theme: true,
            header:{ 
                    right: 'month basicWeek basicDay',
                    left: 'prev,next today',
                    center: 'title'

            },
            loading: function(bool){
                    if(bool){
                    $("body").addClass("loading"); 
            }else{
                    $("body").removeClass("loading");
                    }
            },
            lazyFetching: true,
            minTime: 8,
            maxTime: 17,
            allDaySlot: false,
            eventSources:[

            {
                    url: '/apptCalendar/appt?q=1',
                    color: '#FAF29B',
                    textColor: 'black',
                    allDayDefault: false
            },
            {
                    url: '/apptCalendar/appt?q=2',
                    color: '#4e394d1',
                    textColor: '#FAF29B',
                    allDayDefault: false
            },
                            {
                    url: '/apptCalendar/appt?q=3',
                    color: '#38df64',
                    textColor: 'black',
                    allDayDefault: false
            }


    ],
    eventRender: function(event, element){
        element.find('span.fc-event-title').html(element.find('span.fc-event-title').text());
            element.qtip({
                    content: {text:"<script>$('.qtip .addTitleInfo').addClass('hidden'); $(document).ready(function(){ $('#eventApptID"+event.id+"').each(function(){  $('#eventApptID"+event.id+"').val('"+event.appStatusID+"'); });  });</script><div><h6>Therapy Type: "+event.therapyType+"</h6></div><a href='/eval/new-eval/"+event.pat_id+"?appID="+event.thirdPAppID+"'"+"><i class='icon-plus-sign'></i> New Eval</a><br>\
                    <a href='/note/new-note/"+event.pat_id+"?appID="+event.thirdPAppID+"'"+"><i class='icon-plus-sign'></i> New Note</a>\
                    <div>DOB: "+event.dob+"</div><div>SSN: "+event.l4SSN+"</div><div>Appointment Status:</div><select id='eventApptID"+event.id+"' class='input-large' onChange='updateApptStatus(this.value,"+event.id+","+event.pat_id+")'>"+items+"</select><div>Comments: "+event.description+"</div>",
                    title: {text: event.title},
                    button: 'Close'},
                    show: {
                            solo: true
                    },
                    style: {
                            classes: 'qtip-bootstrap',
                            width: 300,
                            height: 300
                    },
                    hide: {
                            event: 'unfocus',
                    },
                    position:{
                            my: 'bottom center',
                            at: 'top center',
                            target: 'event',
                            viewport: $('#calendar')
                    }
            });
    }

});

并且在视图更改时未提示警报。我想要它。谁能帮我吗?

目前我已尝试过其他通知方法,但未能使其正常工作。请让我知道我需要做些什么来完成这项工作。

1 个答案:

答案 0 :(得分:5)

问题似乎与您的fullcalendar库版本有关。这个特殊的问题让我旋转了一段时间:(。你在小提琴中包含的那个是v1.6.2。我无法通过该版本成功触发'viewRender'回调。我用v1检查了相同的代码.6.3并触发了事件。在对两个版本进行差异处理时,我发现v1.6.2中缺少以下代码块(似乎与问题极为相关):

trigger('viewRender', currentView, currentView, currentView.element);

_renderView()函数中。另外需要注意的是v1.6.3依赖于jQuery v1.10.2(虽然我不确定它是否适用于较低版本)所以如果你没有绑定到特定版本的jQuery,只需包含最新的fullcalendar你应该好好去......