В полном календаре jQuery у нас есть кнопки "предыдущий" и "следующий". Как мы можем назвать некоторые события по нажатию этих кнопок?
Как вызывать события по нажатию на предыдущую и следующую кнопку?
Ответ 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