uncaught typeError: .fullCalendar() is not a function with fullCalendar v4
uncaught typeError: .fullCalendar() is not a function with fullCalendar v4
对于未捕获的类型错误,我已经浏览过类似这样的以前的帖子,但所有这些帖子都引用了脚本加载的顺序。由于我使用的是 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 是否已移除此功能?
好的,我明白了。尽管我很喜欢 fullCalendar,但他们最大的错误是让 "updates on the docs" 按钮太小以至于我错过了它,这让我花了 here。这些文档非常重要,因为主站点尚未更新,但该页面已更新。
不是像上面那样接近它,而是必须在 eventClick 函数中这样做:
info.event.setProp('classNames', 'is_selected');
方法不同,但都能完成工作。
对于未捕获的类型错误,我已经浏览过类似这样的以前的帖子,但所有这些帖子都引用了脚本加载的顺序。由于我使用的是 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 是否已移除此功能?
好的,我明白了。尽管我很喜欢 fullCalendar,但他们最大的错误是让 "updates on the docs" 按钮太小以至于我错过了它,这让我花了 here。这些文档非常重要,因为主站点尚未更新,但该页面已更新。
不是像上面那样接近它,而是必须在 eventClick 函数中这样做:
info.event.setProp('classNames', 'is_selected');
方法不同,但都能完成工作。