我正在尝试暂时禁用日历中的寻呼机左/右控件和月/周/日视图按钮。我不想永久禁用日历,只是暂时禁用,因为我必须等待它刷新某些内容。在呈现的HTML中有一点HTML,所以我想我应该特别问一下,我需要做什么才能以编程的方式禁用这些功能?
标题的每个文档:
可以将整个标头的任何属性设置为false
,或者根本不包括标头,因为默认值为false
标题示例:
header: {
left: false,
center: 'title',
right: false
}
API参考:http://arshaw.com/fullcalendar/docs/display/header/
$(".fc-header-left span.fc-button").addClass("ui-state-disabled");
,与.fc-header-right
相同。。。
我想我已经做到了,但只是通过使用基于函数的事件源,所以在获取任何数据时,我在整个页面上放置了一个div(以显示数据加载效果/动画),并在获取完成后立即删除。以下是代码:
var eventSource = {
events: function (start, end, callback) {
showHideloader(true, '');
$.ajax({
url: "my.aspx/myEvents",
type: "POST",
headers: { "cache-control": "no-cache" },
data: "{mydata:blabla}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (data) {
var events = [];
var dateTime = new Date();
var jobs = eval("(" + data.d + ")");
$.each(jobs, function (i, val) {
events.push({
id: jobs[i].TaskID,
title: jobs[i].title,
start: new Date(jobs[i].startDate)
});
});
callback(events);
showHideloader(false, '');
},
error: function (x, e) {
showMessage('error', 'failure loading tasks in calendar', x, e, true);
showHideloader(false, '');
}
});
}
}//event source
//put a div on the page to show the data loading effect
function showHideloader(_show) {
if (_show) {
$('#loader').height($(window).height());
$('#loader').width($(window).width());
$('#loader').css('top', '0');
$('#loader').css('left', '0');
//setting max possible z-index value to always show it in front
$('#loader').css('z-index', '2147483640');
}
$('#loader').css('display', (_show) ? '' : 'none');
}
在这一点上,我已经创建了一个事件源对象(如果您已经在日历调用中这样做了,则无需这样做),并在ajax调用之前使用了showHideloader,并在成功和失败的情况下再次使用它来启用页面。
在你的参考中,我已经包含了showHideloader的代码,其中使用id为"loader"的潜水来操纵恶魔/启用页面效果。