每当我在fullcalendar上切换月份时,我都会收到以下错误消息
Uncaught TypeError: specialTokens[fakePart.substring(...)] is not a function
我的所有活动都会从日历中消失。
我正在尝试在月份更改时重新呈现我的活动,但我不断收到错误消息,并且不会重新加载我的活动。
的Javascript
var events = <?php echo $eventsArray ?>;
var blocked = <?php echo $blockedArray ?>;
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
console.log(blocked);
for (var i = 0; i < Object.keys(blocked).length; i++) {
console.log(blocked[i].date);
}
$('#democalendarfull').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
viewRender: function(view, element) {
$('#democalendarfull').fullCalendar( 'rerenderEvents' );
},
editable: false,
aspectRatio: 2,
droppable: false,
events: events,
dayRender: function (date, cell) {
var today = new Date();
if (date._d.getDate() === today.getDate()) {
cell.css("background-color", "red");
}
}
});
HTML
<div id="democalendarfull" class="mb">
<div class="panel green-panel no-margin">
<div class="panel-body">
<div id="date-popover" class="popover top" style="cursor: pointer; disadding: block; margin-left: 33%; margin-top: -50px; width: 175px;">
<div class="arrow"></div>
<h3 class="popover-title" style="disadding: none;"></h3>
<div id="date-popover-content" class="popover-content"></div>
</div>
//JAVASCRIPT IS INSIDE HERE
</div>
</div>
</div>
PHP
$results= $db->query("SELECT * FROM mytable");
$events = array();
while($fetch = mysqli_fetch_assoc($results)){
$e = array();
$e['id'] = $fetch['id'];
$e['title'] = $fetch['title'];
$e['start'] = $fetch['start'];
$e['end'] = $fetch['end'];
$e['url'] = $fetch['url'];
array_push($events, $e);
}
$eventsArray = json_encode($events);
我的事件在页面加载时都加载并正常工作,但是一旦我循环几个月,我收到错误消息就会中断!我不知道我是否错了,但无论我做什么,我都无法保证我的活动!
答案 0 :(得分:2)
升级fullCalendar之后我遇到了同样的问题,让我有点想弄清楚,因为近一年来一切正常,我在过去没有任何问题升级过fullCalendar,因为某些原因我不得不包括{在我使用fullCalendar的页面中{1}},请参阅我运行MVC网站,之前主页(moment.js
)引用了_layout.cshtml
,现在还不确定为什么不起作用再一次,就像测试一样,我在实际页面中添加了对时刻的引用,我使用了fullCalendar,我在事件中遇到的问题以及我日历题目中moment.js
的另一个问题也消失了。
在我的情况下,修复是:
undefined
在你的情况下可能只是:
@Scripts.Render("~/bundles/dates")
如果您的问题不是时刻的参考,您可能想尝试使用回叫,documentation提到了这一点,但我没有看到您使用它:
尝试:
<script src='//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'></script>