在我的手機上,當我點擊/觸摸某個元素時,會觸發範圍內的某個過程,並且必須更新它,但一切正常,但是如果我想立即重複該事件,則無法使用jqLite/jQuery中的標準.on('click')
活頁夾。爲什麼Angular事件在設備上被延遲?
當您觸摸容器時,兩者之間存在明確的延遲。
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指令,綠色條在點擊活頁夾上使用標準,然後從該範圍鏈中運行摘要。
Angulars ngTouch模塊是什麼造成這種延遲。我想知道如何使用ngTouch覆蓋ngClick帶來的延遲?
在我的電腦上,點擊綠色條時我看不到任何延遲。兩者工作完全相同。 – Vivek
請參閱我的OP,我提到這與設備和角度觸摸模塊有關@VVK –
ngTouch替換ngClick指令,並且在'click'事件中做* nothing *,這就是延遲出現的原因。 – estus