首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Fullcalendar:为什么日历在页面上出现两次?

Fullcalendar:为什么日历在页面上出现两次?
EN

Stack Overflow用户
提问于 2011-03-11 03:19:07
回答 3查看 4.5K关注 0票数 4

我正在使用jQuery的全日历,由于某种原因,日历在页面上出现了两次。这不是关于在同一页上有两个fullcalendar实例的问题。

相反,在第一个日历的底部,有第二个相同的日历。

我确认我的页面中只有一个#calendar div,所以我相信这个错误与调用fullcalendar.js的.js有关。

任何帮助都非常感谢。

JS代码:

jQuery('#calendar').fullCalendar({


        year: jQuery.today.getFullYear(),
        month: jQuery.today.getMonth(),
        date: jQuery.today.getDate(),
        theme: true,
        contentHeight: 1000,
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        defaultView: 'agendaDay',
        dayClick: function(date, allDay, jsEvent, view) {
                           // a lot of custom code
                    }
            });

HTML:

<table><tr><td valign="top" width="700px"><div id="calendar"></div></td></tr></table>

javascript中fullcalendar的其他调用(这会将一个datepicker放在div中,位于同一页面上#calendar div的左侧):

jQuery('#datepicker_for_calendar').datepicker({
          defaultDate: jQuery.today,
          minDate: jQuery.startDate,
          maxDate: jQuery.endDate,
          inline: true,
          showButtonPanel: true,
          onSelect: function(dateText, inst) {
              var d = new Date(dateText);
              jQuery('#calendar').fullCalendar('gotoDate', d);
              selectedDate = d;
          }
      });
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-20 04:26:09

好的,经过一周的bug测试之后,我发现了这个jQuery插件:

once()

http://plugins.jquery.com/project/once

一旦应用到.fullcalendar之前的#calendar div,问题就解决了,只呈现了一个日历。

工作代码:

jQuery('#calendar').once('calendar').fullCalendar({

... })

票数 1
EN

Stack Overflow用户

发布于 2012-02-13 23:41:21

我最近遇到了同样的问题,并尝试了once() jQuery插件,它对我不起作用。但是,我重新下载了未缩小的源代码,并在initialRender方法中添加了以下行作为该方法的第一行,它解决了我重复的日历方法。

element.html('');

我猜我的问题来自于我在没有刷新页面的情况下重新初始化下拉更改的日历,这似乎是js代码不断地将日历添加到现有的div中,而没有清除现有的日历。

票数 3
EN

Stack Overflow用户

发布于 2012-03-28 04:05:27

在精简版本的f()函数中添加a.html('');

我在一个对话框中打开了我的日历,每次我点击一个按钮打开,就会有另一个日历。

经过一些阅读,我找到了要使用的方法- .fullCalendar('destroy') -这样你就不需要编辑插件了。

现在,关闭对话框并重新打开时,只显示一个日历。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5264681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档