На моем мобильном телефоне, когда я нажимаю/касаюсь элемента, он запускает определенный процесс в области видимости и должен обновлять его, все работает отлично, однако, если я хочу повторить событие сразу, это не работает, используя стандарт .on('click')
связующее вещество в jqLite/jQuery.Почему на устройствах задерживаются угловые события?
Существует определенная задержка между ними, когда вы касаетесь контейнеров.
var myApp = angular.module('myApp', ['ngTouch']);
myApp.controller('myCtrl', function MyCtrl($scope) {
$scope.name = 'Superhero';
$scope.counter = 0;
$scope.fire = function() {
$scope.counter++;
};
});
myApp.directive('directiveA', function() {
return {
restrict: 'A',
link : function(scope, element) {
scope.counterB = 0;
$(element).on('click', function() {
scope.counterB++;
scope.$digest();
});
}
};
});
DEMO: http://jsfiddle.net/HB7LU/21162/
В демке, если вы касаетесь на одной стороне красной полосой, а затем с другой стороны, независимо от того, как быстро вы прикоснуться к ней, она обновляет.
Однако на зеленой панели, если вы касаетесь левой стороны, а затем с правой стороны, она не обновляется, когда вы продолжаете касаться.
Красная полоса использует директиву ng-click, а зеленая полоса использует стандартную наклейку для кликов, а затем запускает дайджест из этой области видимости.
Угловой модуль ngTouch является причиной этой задержки. Мне интересно, как я могу перезаписать эту задержку, которая появляется через ngClick, используя ngTouch?
На моем компьютере я не вижу задержки при нажатии на зеленую полосу. Оба работают точно так же. – Vivek
Пожалуйста, посмотрите мой OP, я упомянул, что это связано с устройствами и угловым сенсорным модулем @VVK –
ngTouch заменяет директиву ngClick и ничего не делает * с событием 'click', поэтому существует задержка. – estus