我在js中插入了一些新功能,但dayClick
和eventClick
不起作用。虽然日历能够正确加载。
知道为什么以下代码中的dayclick和eventclick无效?
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: '',
right: 'agendaWeek,agendaDay'
},
selectable: true,
selectHelper: true,
allDayDefault: false,
allDaySlot: false,
firstHour: 9,
defaultView: 'agendaWeek',
dayClick: function(date, allDay, jsEvent, view) {
calendar.fullCalendar('gotoDate', date);
},
eventClick: function(calEvent, jsEvent, view) {
window.location = "http://www.domain.com?start=" + calEvent.start;
},
select: function(start, end) {
var title = prompt('Event Title:');
if (title) {
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end
},
false // make the event "stick"
);
var startDateString = $.fullCalendar.formatDate(start, 'yyyy-MM-dd hh:mm');
var endDateString = $.fullCalendar.formatDate(end, 'yyyy-MM-dd hh:mm');
$.ajax({
type: 'POST',
url: '{url}ajaxpost/add',
data: {
startDate: startDateString,
endDate: endDateString,
eventTitle: title
},
dateType: 'json',
success: function (resp) {
calendar.fullCalendar('refetchEvents');
}
});
}
calendar.fullCalendar('unselect');
},
editable: true,
events: "{url}ajaxget/data",
});
});
答案 0 :(得分:0)
您不能同时使用“select”回调和“dayClick”回调,因为两者之间存在冲突。你可以使用datepicker来完成gotoDate函数来完成同样的事情。
至于eventClick我不确定为什么它不起作用,但更容易将url放在数据库中,在事件中调用它并将其设置为属性“url:www.somesite.com/sdfjkiwe “
作为旁注,如果你没有使用renderEvent来显示你的事件,那可能会更好。尝试使用此处的事件功能在其中使用您的ajax调用。
http://arshaw.com/fullcalendar/docs/event_data/events_function/