我曾经针对未捕获的typeerror浏览过此类文章,但所有文章都引用了脚本加载的顺序。由于我使用的是wordpress,因此顺序如下:
wp_enqueue_script( 'google-jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js');
wp_enqueue_style('icons', 'https://i.icomoon.io/public/8f231b5d70/healthprofessionaltheme/style.css');
wp_enqueue_style('fonts', 'https://fonts.googleapis.com/css?family=Merriweather:700|Roboto:400,700&display=swap');
wp_enqueue_style('calendar-core-css', get_template_directory_uri() . '/assets/fullcalendar/packages/core/main.min.css');
wp_enqueue_script( 'calendar-core-js', get_template_directory_uri() . '/assets/fullcalendar/packages/core/main.min.js');
wp_enqueue_style('calendar-daygrid-css', get_template_directory_uri() . '/assets/fullcalendar/packages/daygrid/main.min.css');
wp_enqueue_script( 'calendar-daygrid-js', get_template_directory_uri() . '/assets/fullcalendar/packages/daygrid/main.min.js');
wp_enqueue_style('calendar-timegrid-css', get_template_directory_uri() . '/assets/fullcalendar/packages/timegrid/main.min.css');
wp_enqueue_script( 'calendar-timegrid-js', get_template_directory_uri() . '/assets/fullcalendar/packages/timegrid/main.min.js');
wp_enqueue_script( 'calendar-interaction', get_template_directory_uri() . '/assets/fullcalendar/packages/interaction/main.min.js');
wp_enqueue_style( 're_admin_core', get_template_directory_uri() . '/assets/stylesheets/admin_core.css');
首先在日历JS上加载日历,然后是其他插件。
仅当我单击此函数中的事件时,才会显示错误:
eventClick: function(info){
var event_id = info.event.id;
event_selected = event_id;
var similarEvents = info.event;
similarEvents.className = 'is_selected';
$("#calendar").fullCalendar('updateEvent', similarEvents); //The issue
}
我尝试删除jQuery行并将其替换为document.getElementById("calendar")
,问题是完全一样的。为什么会这样?是因为我怎么在顶部调用fullCalendar引用?
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {...});
我知道当我尝试将日历变量替换为$("#calendar").fullCalendar({..});
时,它在顶部抛出了完全相同的错误。较新版本的fullCalendar是否已退出此功能?
答案 0 :(得分:1)
好吧,我知道了。尽管我很喜欢fullCalendar,但他们最大的错误是使“文档更新”按钮变得很小,以至于我错过了它,这使我here。这些文档非常重要,因为主站点尚未更新,但该页面已更新。
您不必像上面那样处理它,而必须在eventClick函数中这样做:
info.event.setProp('classNames', 'is_selected');
方法不同,但是可以完成工作。