Javascript 以编程方式更改fullcalendar 4的日期
我正在使用fullcalendar v4。我有一个迷你日历,一旦点击了某个事件,我希望另一个更大的日历(日历已满)转到该日期Javascript 以编程方式更改fullcalendar 4的日期,javascript,jquery,fullcalendar,fullcalendar-scheduler,fullcalendar-4,Javascript,Jquery,Fullcalendar,Fullcalendar Scheduler,Fullcalendar 4,我正在使用fullcalendar v4。我有一个迷你日历,一旦点击了某个事件,我希望另一个更大的日历(日历已满)转到该日期 <script type="text/javascript"> document.addEventListener('DOMContentLoaded', function() { var calendar1 = document.getElementById('calendar_mini'); var calendar_mini = n
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
var calendar1 = document.getElementById('calendar_mini');
var calendar_mini = new FullCalendar.Calendar(calendar1, {
plugins: ['interaction', 'dayGrid'],
eventClick: function(info) {
//when clicking on events, go to date on main calendar
calendar.gotoDate(info.event.start)
}
...
});
document.addEventListener('DOMContentLoaded', function() {
var calendar_full = document.getElementById('calendar_full');
var calendar = new FullCalendar.Calendar(calendar_full, {
plugins: ['interaction', 'resourceDayGrid', 'resourceTimeGrid', 'timeGrid'],
header: {
right: 'prevYear,prev,next,nextYear,today',
left: 'title',
center: 'resourceTimeGridDay,resourceTimeGridWeek,resourceDayGridMonth'
},
selectMirror: true,
...
)};
问题是,在回调中使用名为“calendar”的变量时,该变量不在范围内,这就是它未定义的原因。它的作用域仅限于声明它的“DOMContentLoaded”回调 现在,这里不需要两个单独的“DOMContentLoaded”回调。一个通常足以满足页面加载后需要运行的所有代码 如果在单个回调中移动所有内容,则不会出现问题:
document.addEventListener('DOMContentLoaded', function() {
var calendar1 = document.getElementById('calendar_mini');
var calendar_mini = new FullCalendar.Calendar(calendar1, {
plugins: ['interaction', 'dayGrid'],
eventClick: function(info) {
//when clicking on events, go to date on main calendar
calendar.gotoDate(info.event.start)
}
var calendar_full = document.getElementById('calendar_full');
var calendar = new FullCalendar.Calendar(calendar_full, {
plugins: ['interaction', 'resourceDayGrid', 'resourceTimeGrid', 'timeGrid'],
header: {
right: 'prevYear,prev,next,nextYear,today',
left: 'title',
center: 'resourceTimeGridDay,resourceTimeGridWeek,resourceDayGridMonth'
},
selectMirror: true,
...
)};
document.addEventListener('DOMContentLoaded', function() {
var calendar1 = document.getElementById('calendar_mini');
var calendar_mini = new FullCalendar.Calendar(calendar1, {
plugins: ['interaction', 'dayGrid'],
eventClick: function(info) {
//when clicking on events, go to date on main calendar
calendar.gotoDate(info.event.start)
}
var calendar_full = document.getElementById('calendar_full');
var calendar = new FullCalendar.Calendar(calendar_full, {
plugins: ['interaction', 'resourceDayGrid', 'resourceTimeGrid', 'timeGrid'],
header: {
right: 'prevYear,prev,next,nextYear,today',
left: 'title',
center: 'resourceTimeGridDay,resourceTimeGridWeek,resourceDayGridMonth'
},
selectMirror: true,
...
)};