Как остановить закрытие даты на размытие? - PullRequest
0 голосов
/ 08 февраля 2020

Проблема

Я использую pickadate. js, и я хочу, чтобы мой календарь выбора даты оставался открытым при щелчке вне календаря. Заранее спасибо.

Что я пробовал

Во-первых, я пробовал picker.set('select', new Date());, но он также закрывает средство выбора даты, потому что, если дата выбрана, то она не закрывает Выбор даты при щелчке по заголовку модального окна, но если мы не инициализируем выбор даты, он закрывает средство выбора по щелчку по заголовку мода.

1 Ответ

0 голосов
/ 08 февраля 2020

Каждый раз, когда открывается средство выбора, обработчик события для его закрытия привязывается к документу с определенным пространством имен ($document.on( 'click.' + STATE.id) в коде). Затем код вызывает события 'open'.
Связывая обработчик событий с этим событием 'open', мы можем немедленно отменить привязку события документа, которое закрывает средство выбора (с указанным c id ).

var input = $('.datepicker').pickadate(),
  picker = input.pickadate('picker');

picker.on('open', function() {
  $(document).off('.' + picker.get('id'))
});
.picker__holder {
  width: 350px !important;
}
<link href="https://amsul.ca/pickadate.js/vendor/pickadate/lib/themes/default.css" rel="stylesheet" />
<link href="https://amsul.ca/pickadate.js/vendor/pickadate/lib/themes/default.date.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://amsul.ca/pickadate.js/vendor/pickadate/lib/picker.js"></script>
<script src="https://amsul.ca/pickadate.js/vendor/pickadate/lib/picker.date.js"></script>

<input id="input_01" class="datepicker" name="date" type="text" autofocus value="14 August, 2014" data-value="2014-08-08">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...