如何防止对dayClick的重复?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止对dayClick的重复?相关的知识,希望对你有一定的参考价值。
在提问之前,我透露我是初学者。
我第一次使用fullCalendar。
当我点击日期时,我进行了活动注册。
var calendar = $('#calendar').fullCalendar
({
dayClick: function (date, allDay, jsEvent, view)
{
$('#calendar').fullCalendar('renderEvent',
{
title : '휴진',
allDay : true,
start: date, //specify start date
stick : true,
backgroundColor: '#fe4978'
});
}
});
此代码允许在事件注册中重复。
一旦事件在特定日期注册,我想阻止事件在此后注册。
我见过与removeEvent相关的文档,但我不知道如何编写代码。
如果你能给我一个指导,我真的很感激。
答案
这可以帮助你@won。
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
$('#calendar').fullCalendar('clientEvents', function(event) {
if(event.start <= date && event.end >= date) {
return true;
}
return false;
});
}
});
更新:
在将所选事件存储到对象之前添加函数。
function IsDateHasEvent(date) {
var allEvents = [];
// add your calendar events into the array.
allEvents = $('#calendar').fullCalendar('clientEvents');
var event = $.grep(allEvents, function (v) {
return +v.start === +date;
});
return event.length > 0;
}
并按如下方式更改您的代码。
dayClick: function (date, allDay, jsEvent, view) {
if (!IsDateHasEvent(date)) {
// No previous event on this date.
selectedDate = date;
eventData = {
title: title,
start: start,
stick : true,
backgroundColor: '#fe4978',
overlap: false,
};
$('#calendar').fullCalendar('renderEvent', eventData, true);
// add new appointment code.
//$("#divAddNewAppointment").dialog("open");
}
else {
//$('<%= "#" + lblMessage.ClientID%>').html(" your error msg");
$('#calendar').fullCalendar('unselect');
$("#divMessage").dialog("open");
}
}
以上是关于如何防止对dayClick的重复?的主要内容,如果未能解决你的问题,请参考以下文章