uncaught typeError: .fullCalendar () не является функцией с fullCalendar v4 - PullRequest
1 голос
/ 08 июля 2019

Я прошел предыдущие посты, подобные этой, для uncaught 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 удалены от этой функции?

1 Ответ

1 голос
/ 08 июля 2019

Хорошо, я понял это.Как бы я ни любил fullCalendar, их самая большая ошибка - сделать кнопку «обновления на документах» очень маленькой, чтобы я пропустил ее, что заняло у меня здесь .Эти документы очень важны, потому что основной сайт не был обновлен, но эта страница имеет.

Вместо того, чтобы подходить к нему, как описано выше, вы должны сделать это следующим образом в функции eventClick:

info.event.setProp('classNames', 'is_selected');

Подход другой, но он выполняет свою работу.

...