функция fullcalendar при загрузке - PullRequest
0 голосов
/ 28 февраля 2019

При просмотре повестки дня на моем экране отображается 7 дней, и у меня есть кнопки для навигации по месяцу (т.е. перейти к следующему дню).У меня есть функция, которая дает мне по щелчку начало и конец временного интервала, по которому я щелкнул.Он хорошо работает в течение 7 дней, но только на загруженной странице, но если я нажму, чтобы перейти на следующий день, и нажму на временной интервал, он больше не будет работать.Я проверяю структуру HTML это все то же самое, но моя функция не работает.

вот мой код:

$("div.fc-slats table tbody tr").click(function () {
                var borne_sup = $(this).attr("data-time");
                var borne_inf = $(this).next().attr("data-time");
                console.log(borne_sup);
                console.log(borne_inf);
            });

Можете ли вы помочь мне, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Я новичок в веб-разработке, поэтому я не уверен, как это сделать, но я нашел другой способ сделать это:

$("body").on("click", "div.fc-slats table tbody tr", function () {
                borne_sup = $(this).attr("data-time");
                borne_inf = $(this).next().attr("data-time");
                console.log(borne_sup);
                console.log(borne_inf);

            });

Спасибо за вашу помощь.

0 голосов
/ 01 марта 2019

Если вы добавляете событие click только при первом отображении календаря, он будет прикреплен к каждой строке в этой точке.Когда вы нажимаете дальше, новые элементы будут добавлены в DOM, поэтому, если вы не запустите код снова, к элементам не будут прикреплены события щелчка.

Исправление, которое должно решить проблему, однако альтернативный подход будетиспользовать обратный вызов FullCalendar eventClick , это дает вам доступ к событию, на которое вы щелкнули, и вам не нужно вручную прикреплять обработчик кликов.

eventClick(event, jsEvent, view) {
  console.log(event.start, event.end);
}

Пример Codepen

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...