Подтвердить что ты не робот

Md-select работает только при первом нажатии на OS X

Я использую angularjs (1.x) и angular -материал в электронном приложении. У меня есть два md-select в представлении, и когда я пытаюсь использовать его в окнах, все работает нормально. Но когда я использую его в OS X, md-select перестает работать после первого щелчка. Я нажимаю на него, и он открывает список элементов, но если я снова нажму кнопку md-select, он больше не отобразит список элементов. Стоит отметить, что если я нажму на первый md-select, второй md-select перестанет работать.

Проверяя html, я вижу, что md-select имеет два дочерних элемента: md-select-value и div(md-select-menu-container). После того, как я нажимаю и выбираю любой элемент, md-select-menu-container исчезает. Возможно, это связано с проблемой, но у второго md-select все еще есть md-select-menu-container, и я не могу его открыть.

Даже попробовал простой md-select без каких-либо параметров, и он по-прежнему открывается только при первом щелчке.

<md-select ng-model="vm.test">
</md-select>

Кто-нибудь знает, почему это происходит?

Я бы поставил свой код здесь, но я думаю, что ошибка находится где-то еще в моем проекте. Потому что, если я попробую md-select на демонстрационной странице материала angular, он работает как ожидалось.

Мой проект находится в github, поэтому каждый может попробовать: https://github.com/jradesenv/controle-projeto

UPDATE:

Я создал простой сервер с nodejs express для размещения приложения angular, и он отлично работает на хроме и сафари. Кажется, это ошибка только с электроном. Я заметил, что его не только md-selects, но и md-dialogs и md-toast тоже имеют некоторую странную задержку для открытия и закрытия, только работающей в электроне.

Спасибо!

4b9b3361

Ответ 1

Я использовал angular материал 1.1.5 с этой ошибкой. Когда я понизил его до 1.1.0, я вижу, что mdSelects работает как ожидалось, но все же получил некоторые другие erros, такие как задержка в закрытии mdDialog, задержка для изменения вкладок и т.д. Это ошибка с angular -материальными анимациями.

Для всех, у кого есть эта проблема, я все еще использую angular -material 1.1.5, но я отключил все анимации только в Safari, и теперь он работает как ожидалось.

Я использую этот код для ввода определенного файла css и bootstrap angularjs, а в конкретном файле css я отключу все анимации:

function boot() {
    if (/Safari/.test(navigator.userAgent)) {
        var head = document.head,
        style = document.createElement('link');

        style.type = 'text/css';
        style.rel = 'stylesheet';
        style.href = 'styles/disable-animations.css';

        head.appendChild(style);
    }

    window.onload = function () {
        angular.bootstrap(document, ['app']);
    };
}

//style/disable-animations.css файл

* {
transition: none!important;
transition-duration: 0ms!important;
transition-delay: 0ms!important;
}