更改basicDay视图中的文本

当用户点击月视图中的日链接时,我希望日视图显示更多信息。 所以当他们点击这个链接时:

我想它显示这个:

基本上,我想将订单描述附加到订单号。 我已从Web API调用中返回事件详细信息中的订单描述,并将该描述用作月视图上的工具提示。 以下是我的日历定义中的一部分的eventRender和viewRender方法:

    eventRender: function (event, element) {
        event.title = event.OrderNumber;
        element.find('.fc-title').append('<a href="...' + title="' + event.Description + '">' + event.OrderNumber + '</a>');
    }
    , viewRender: function (view, element) {
        if (view.name == 'basicDay') {
            element.find('.fc-title').append('<a href="...' title="' + event.Description + '">' + event.Description + '</a>');
        }
    }

在viewRender中,我试图重复在eventRender中工作的内容(更改“.fc-title”类),但那没有奏效。 在调试时评估传递给viewRender方法(视图和元素)的对象并没有显示出我需要的任何有用属性,但也许它们隐藏在我的面前。


再一次,发布我的问题的魔力帮助解决了这个问题。 我发现日历声明中的“eventAfterAllRender”事件是关键:

$('#calendar').fullCalendar({
    eventRender: function (event, element) { ... },
    viewRender: function (view, element) { ... }, 
    eventAfterAllRender: function (view) {
        if ($('.fc-basicDay-view').length > 0) {
            $('.cl').each(function (i, item) {
                var title = item.title;
                item.innerText = item.innerText + ' - ' + item.title;
                $(this).css('font-size', '14px');
            });
        }
    }
});

我最初尝试将代码放入“eventRender”事件中,但通过开发人员工具评估页面,我注意到该页面并未完成渲染,因此我尝试修改的HTML元素尚未完成被创建。

将代码放在“eventAfterAllRender”事件中,因为日历已经完成了渲染,然后我可以查找链接标签并修改它们。 在我的代码中,我查看是否存在“fc-basicDay-view”类,它是在点击月视图上的日链接(在我的原始文章中)并呈现日视图之后出现的。

每个链接类都附有一个名为“cl”的类。 这是我最初创建链接(这是对原始帖子的更改)时手动附加到“eventRender”事件中的类:

element.find('.fc-title').append('<a href="...' + title="' + event.Description + '" class="cl">' + event.OrderNumber + '</a>');

“eventAfterAllRender”事件中的代码然后遍历所有元素,从每个链接(我也在“eventRender”事件中分配)中拉取“title”属性,并将其附加到innerText属性。

链接地址: http://www.djcxy.com/p/81167.html

上一篇: Changing the text in the basicDay view

下一篇: How do i change the height of the day in the month view of Fullcalendar?