Bootstrap datepicker: Фокус без открытия - PullRequest
0 голосов
/ 19 марта 2019

Я использую загрузчик даты начальной загрузки и jQuery validate.У меня есть jquery validate, чтобы фокусироваться на вводе, когда поле пустое и обязательное.

Однако при загрузке даты с начальной загрузки событие focus вызывает открытие календаря.Что не идеально в моей ситуации.Мне интересно, есть ли способ сфокусироваться, но пройти через protectDefault или что-то в этом роде?

Я сделал jsfiddle.Можно ли нажать кнопку, чтобы сфокусироваться на элементе, но не открыть календарь?https://jsfiddle.net/a2gkpxuh/ Основная цель фокуса - прокрутить страницу, чтобы пользователь мог видеть нужный элемент.

$("#myButton").click(function () {
   //Some code to prevent default here?  Possibly disable datepicker before .focus event
   $("#myDatePicker").focus();
});

Я думаю, что одним из возможных решений было бы отключение средства выбора даты, а затем выполнить мойjQuery.validate (), затем снова включите средство выбора даты.Хотя я чувствую, что есть лучший способ ...

К вашему сведению Вот аналогичный вопрос: Установить фокус на Jquery DatePicker при закрытии DatePicker, без открытия DatePicker

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Вы можете просто скрыть указатель даты после фокуса:

$("#myButton").click(function () {
    $("#myDatePicker").focus();
  $("#myDatePicker").datepicker('hide');
});
0 голосов
/ 20 марта 2019

Просто добавление в Maxwell_Orr, которое не позволит пользователю нажать кнопку выбора даты.

Вы можете сделать что-то вроде этого:

$('.default-date-picker').datepicker({
  format: 'mm/dd/yyyy',
  autoclose: true
});

$("#myButton").click(function () {
    $("#myDatePicker").focus();
    $("#myDatePicker").datepicker('hide');
});

$("#myDatePicker").click(function () {
    $("#myDatePicker").focus();
});
...