Jquery выбирает время открытия и закрытия одновременно

#jquery #pickadate

#jquery #автоматическое переключение

Вопрос:

У нас возникла странная проблема с pickadate.js v3.5.6., jQuery v3.3.1 Когда пользователь нажимает на элемент, он открывает каландр и одновременно вызывает событие закрытия. Но если пользователь выбирает другую вкладку в браузере, а затем возвращается к первой вкладке, каландр находится в открытом состоянии. Это новая проблема на существующей странице. После щелчка мыши и открытия / закрытия класс элемента будет:

 field a-picker picker__input valid picker__input--target
  

Это настройка:

         $('#monitor-time-days-picker').pickadate({
        format: 'dd.mm.yyyy',
        onSet: function () {
        }
    });
  

Кто-нибудь сталкивался с подобной проблемой?

Спасибо

Комментарии:

1. Да, в основном он отображает datepicker по щелчку, а затем обновляет его, чтобы иметь сфокусированные классы,

Ответ №1:

я сталкиваюсь с той же проблемой на существующем веб-сайте, с chrome (и только chrome).

Со вчерашнего дня, когда я нажимаю на ввод с помощью pickadate, он открывается и закрывается в одно и то же время.

Я использую jquery-3.2.1.

 $('.datepicker').pickadate({
    closeOnSelect: true,
    onClose: function() {
        $('.datepicker').blur();
        $('.picker').blur();
    },
    min: new Date(),
    selectMonths: true,
    selectYears: 15
});
  

До вчерашнего дня этот код работал без каких-либо проблем.

Ответ №2:

Та же проблема здесь, со вчерашнего дня с jquery 3.1.0 происходит то же самое на рабочем веб-сайте и только с Chrome для ПК (хорошо работает на мобильных устройствах). Исправлена проблема с jquery 2.2.3

Комментарии:

1. Привет, изменение на 2.2.3 не помогло.

Ответ №3:

найдено решение: просто обновите pickadate до версии 3.6.2

Редактировать:

Пожалуйста, ознакомьтесь с этой проблемой на странице плагина:

https://github.com/chingyawhao/materialize-clockpicker/issues/40

Ответ №4:

Я нашел решение.

 <input type="text" id="myDate" onfocus="openMyDate();">

function openMyDate() {
    //delay 
    var delayInMilliseconds = 200;

    //after the delay
    setTimeout(function () {
        //if myDate did not open then trigger click
        if (!$("#myDate_root").hasClass("picker--opened")) {
            $("#myDate").trigger("click");
        }
    }
}