2

こんにちは、私は素晴らしいプラグインである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')
                    }
            });
    }

});

ビューが変更されたときにアラートが表示されませんでした。したいと思います。誰でも私を助けることができますか?

現在、他の通知方法を試しましたが、機能させることができませんでした。これを行うために何をする必要があるか教えてください。

4

1 に答える 1

6

問題は、fullcalendar ライブラリのバージョンにあるようです。この特定の問題により、しばらくの間スピンしました:(。あなたがフィドルに含めたものはv1.6.2でした。そのバージョンでは「viewRender」コールバックも正常にトリガーできませんでした。v1で同じコードをチェックしました2 つのバージョンの diff を実行すると、v1.6.2 に次のコード ブロック (問題に非常に関連していると思われる) が欠けていることがわかりました。

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

_renderView()関数内。また、v1.6.3 は jQuery v1.10.2 に依存していることにも注意してください (ただし、それより古いバージョンで動作しないかどうかはわかりません)。したがって、jQuery の特定のバージョンに縛られていない場合は、単に最新のフルカレンダーを含めてください。そして、あなたは行く準備ができているはずです...

于 2013-08-17T02:19:12.370 に答える