0

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

4

3 回答 3

1

每个文档的标题:

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

仅标题示例:

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

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

于 2013-02-11T03:02:25.370 回答
0

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

于 2013-02-11T07:34:47.663 回答
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' 的潜水用于操作禁用/启用页面效果。

于 2013-02-11T10:09:12.693 回答