Номер типа ввода HTML не работает в ребре

Я занимаюсь разработкой приложения angular1 и у меня есть номер типа ввода.

<input type="number" name="min" ng-model="vm.item.min" ng-max="vm.item.max" required >

Но это не работает:

  • Я могу ввести строку

  • У меня нет стрелок для увеличения / уменьшения значения.

Как я могу это исправить без каких-либо полифилов?

1 ответ

Решение

Так что это ошибка как angularjs, так и Edge, как показано в обсуждении ниже: https://github.com/angular/angular.js/issues/15366

Для устранения проблемы предлагается фрагмент:

.directive('input', () => {
  if(currentBrowser!="edge") return {};

  return {
    link: (scope, elem) => {
      if (elem[0].type === 'number') {
        elem.on('keydown', evt => {
          switch (evt.which) {
            case 38:   // UP_ARROW
            case 40:   // DOWN_ARROW
              scope.$evalAsync(() => elem.triggerHandler('change'));
              break;

          }
        });
      }
    }
  };
});
Другие вопросы по тегам