在fullcalendar中暂时禁用寻呼机/月/周/日视图

时间:2013-02-11 02:35:58

标签: jquery fullcalendar

我正在尝试暂时禁用日历中的寻呼机左/右控件和月/周/日视图按钮。我不想永久禁用日历,但只是暂时禁用,因为我必须等待刷新一些内容。渲染的HTML中有一些HTML,所以我想我会特别询问我需要做什么才能以编程方式禁用这些功能?

3 个答案:

答案 0 :(得分:1)

标题的每个文档:

可以将整个标头的任何属性设置为false,或者根本不包含标头,因为默认值为false

仅限标题的示例:

header: {
    left: false,
    center: 'title',
    right: false
}

API参考:http://arshaw.com/fullcalendar/docs/display/header/

答案 1 :(得分:0)

$(".fc-header-left span.fc-button").addClass("ui-state-disabled");,同样适用于.fc-header-right ...

答案 2 :(得分:0)

我认为我已经完成了这个但只能使用基于函数的事件源,所以在获取任何数据时我在整个页面上放置一个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'的潜水来操纵diable / enable页面效果。