Метод gotoDate библиотеки Pikaday предназначен для
программного перемещения календаря к определённой дате без её выбора.
Это особенно полезно, когда необходимо отобразить пользователю календарь
с предварительно установленным фокусом на конкретной дате, не меняя
значение поля ввода.
pikaday.gotoDate(date);
Параметры:
date — объект типа Date, к которому должен
переместиться календарь.Не изменяет выбранную дату Метод лишь перемещает
визуальный фокус календаря. Выбранная дата (getDate())
остаётся без изменений, если не используется вместе с
setDate().
Работает с объектами Date В
качестве аргумента обязательно передаётся корректный объект
Date. Передача строки, числа или null приведёт
к ошибке или некорректному поведению.
Влияние на интерфейс После вызова
gotoDate календарь отображает месяц и год указанной даты, а
активный день подсвечен только в случае, если он совпадает с текущей
выбранной датой.
Совместимость с ограничениями Если дата выходит
за пределы minDate или maxDate, календарь
отобразит ближайшую допустимую дату. Например, если minDate
— 1 января 2024, а gotoDate передан 1 января 2023,
календарь откроется на 1 января 2024.
Перемещение к сегодняшней дате без выбора:
var picker = new Pikaday({ field: document.getElementById('datepicker') });
picker.gotoDate(new Date());
В этом примере календарь откроется на текущем дне, но поле ввода останется пустым до ручного выбора даты.
Перемещение к дате в прошлом месяце:
var pastDate = new Date();
pastDate.setMonth(pastDate.getMonth() - 1);
picker.gotoDate(pastDate);
Календарь автоматически сместится на предыдущий месяц, подсветив текущий выбранный день (если он задан).
Использование вместе с setDate() для выбора
даты:
var specificDate = new Date(2024, 11, 25); // 25 декабря 2024
picker.setDate(specificDate, true); // задаёт и выбирает дату
picker.gotoDate(specificDate); // дополнительно центрирует календарь
Хотя setDate() автоматически открывает нужный месяц,
вызов gotoDate() может использоваться для обновления вида
календаря после изменения дат программно.
onSelect,
так как не выбирает дату. Для реакций на перемещение следует
использовать другие события, такие как onDraw.Date, так как это может привести к визуальным сбоям
календаря.minDate и maxDate метод
корректирует отображаемую дату автоматически, что позволяет безопасно
ограничивать навигацию пользователя.Метод gotoDate является мощным инструментом для
программного управления отображением календаря, предоставляя полную
гибкость без вмешательства в фактическое выбранное значение поля.