Как вызывать события при нажатии кнопки «Назад» и «Далее»?

В jQuery fullcalendar у нас есть предыдущие и следующие кнопки. Как мы можем вызывать некоторые события при нажатии этих кнопок?

26
задан double-beep 22 May 2019 в 12:48
поделиться

5 ответов

Вы можете просто прикрепить событие к кнопке:

$('.fc-button-prev span').click(function(){
   alert('prev is clicked, do something');
});

$('.fc-button-next span').click(function(){
   alert('nextis clicked, do something');
});
28
ответ дан 28 November 2019 в 06:09
поделиться
$('.fc-button-next span').click(function(){

   //do your work 

});


$('.fc-button-prev span').click(function(){

   //do your work 

});
0
ответ дан 28 November 2019 в 06:09
поделиться

Другое решение состоит в том, чтобы определить вашу пользовательскую предыдущую / следующую кнопку:

$('#m_calendar').fullCalendar({
 header: {
         left: 'customPrevButton,customNextButton today',
         center: 'title',
 },
 customButtons: {
                customPrevButton: {
                    text: 'custom prev !',
                    click: function () {
                        alert('custom prev ! clicked !');

                    }
                },
                customNextButton: {
                    text: 'custom ext!',
                    click: function () {
                       alert('custom ext ! clicked !');
                    }
                },
            }
});
1
ответ дан 28 November 2019 в 06:09
поделиться

Это сработало для меня:

$('body').on('click', 'button.fc-prev-button', function() {
  //do something
});

$('body').on('click', 'button.fc-next-button', function() {
  //do something
});
15
ответ дан 28 November 2019 в 06:09
поделиться

Когда нажимаются кнопки next и previous , вызывается функция events . Вот пример загрузки данных за текущий год:

$(document).ready(function() {
  loadCal();
});

function loadCal() {

  var current_url = '';
  var new_url = '';

  $('#calendar').fullCalendar({

    // other options here...

    events: function(start, end, callback) {

      var year = end.getFullYear();

      new_url = '/api/user/events/list/' + id + '/year/' + year;

      if (new_url != current_url) {

        $.ajax({
          url: new_url,
          dataType: 'json',
          type: 'POST',
          success: function(response) {

            current_url = new_url;
            user_events = response;

            callback(response);
          }
        })
      } else {
        callback(user_events);
      }
    }
  })
}

Когда вы получаете результаты в запросе, убедитесь, что вы включили по крайней мере последние 10 дней предыдущего года и первые 10 дней с в следующем году.

7
ответ дан 28 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: