暂时禁用完整日历中的寻呼机/月/周/日视图



我正在尝试暂时禁用日历中的寻呼机左/右控件和月/周/日视图按钮。我不想永久禁用日历,只是暂时禁用,因为我必须等待它刷新某些内容。在呈现的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"的潜水来操纵恶魔/启用页面效果。

相关内容

  • 没有找到相关文章

最新更新