Нажатие на кнопки прерывается и пропускается в Safari на ipad

#javascript #jquery #html #angularjs

#javascript #jquery #HTML #angularjs

Вопрос:

У меня есть следующий код:

 angular.module("myApp", []).controller("myController", function($scope) {
  $scope.value = '';

  $scope.keyList = [{
    id: 1,
    name: '1'
  }, {
    id: 2,
    name: '2'
  }, {
    id: 3,
    name: '3'
  }];

  $scope.modifyValue = function(item) {
    $scope.value = $scope.value   item.name;
  }
}); 
 .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100px;
  height: 100px;
}
.keys {
  display: flex;
  justify-content: space-between;
}
.key {
  width: 20px;
  height: 20px;
  background-color: grey;
  color: white;
  text-align: center;
}
.key:hover {
  background-color: darkgrey;
  cursor: pointer;
} 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div class="wrapper" ng-app="myApp" ng-controller="myController">
  <div class="keys">
    <div class="key" ng-repeat="item in keyList" ng-click="modifyValue(item)">{{item.name}}</div>
  </div>
  <input ng-model="value">
  <button ng-click="value = ''">Clear</button>
</div> 

Это отлично работает на рабочем столе (IE, Firefox и Chrome), samsung tab (в Chrome), а также на ipad (в Safari). Единственная проблема, с которой я сталкиваюсь с этим решением, — это производительность на ipad (в Safari). Когда я быстро нажимаю на рабочий стол или вкладку samsung, он быстро сопоставляет мое значение, и щелчок также происходит быстро. Но когда я быстро нажимаю на некоторые из трех чисел на моем ipad в Safari, он прерывается и пропускает некоторые цифры. Пример: когда я быстро нажимаю 1-2-3, он прерывается и пропускает 2, и поэтому на входе его только 13 в случае 123. Я понятия не имею, как это исправить…Я надеюсь, что кто-нибудь сможет мне помочь. Спасибо.

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

1. Что происходит в Safari на OSX? Интересно, был ли у iPad тайм-аут касания в Safari?

2. Привет @DanielShillcock я не знаю, мы просто разрабатываем наше веб-приложение для настольных компьютеров Windows (все браузеры), samsung tab (chrome) и iPad (safari). У нас нет OSX в доме… Но возможно ли, что эта проблема связана с fastclick? Приветствия..

3. @DanielShillcock Я решил это с помощью fastclick: github.com/ftlabs/fastclick/blob/master/bower.json

4. РЕШЕНИЕ: github.com/ftlabs/fastclick/blob/master/bower.json