大家好我正在使用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')
}
});
}
});
并且在视图更改时未提示警报。我想要它。谁能帮我吗?
目前我已尝试过其他通知方法,但未能使其正常工作。请让我知道我需要做些什么来完成这项工作。
答案 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你应该好好去......