Подтвердить что ты не робот

Как вызывать события по нажатию на предыдущую и следующую кнопку?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Лучший способ это:

viewRender: function(view, element) {
  var b = $('#calendar').fullCalendar('getDate');
  alert(b.format('L'));
},

Ответ 3

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

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

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

Ответ 4

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

$(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 дней следующего года.

Ответ 5

Когда вы нажимаете на них, запускается событие viewRender. Вы также можете добавить свой код внутри него.

$('#calendar').fullCalendar({
    viewRender: function(view, element) {
        //Do something
    }
});

Ответ 6

Просто быстрое обновление, не знаю, как долго, но принятый ответ работает для меня следующим образом:

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

$('.fc-next-button').click(function(){
   alert('nextis clicked, do something');
});

Обратите внимание на небольшое изменение,

также сегодня клик выглядит следующим образом:

$(".fc-today-button").click(function () {

Надеюсь, я помог кому-то.

Ответ 7

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

$('#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 !');
                    }
                },
            }
});

Ответ 8

При объявлении Календаря в событиях вы можете написать функцию обратного вызова события:

$('#calender').fullCalendar({

events:  function (start, end, timezone, callback) {
                    callback(eventsarray);
                }
});

//eventsarray - это коллекция данных календаря. Вы также можете вызвать функцию мудрости по месяцам, передав первую и последнюю дату выбранного/текущего месяца и обработав предыдущее и следующее событие.

Ответ 9

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

   //do your work 

});


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

   //do your work 

});

Ответ 10

как реагировать, чтобы получить месяц (от начала до конца), нажав на кнопку "предыдущая" "далее" и сохранив эти значения в setState