在离子应用程序中,我正在观察on-swipe-right
指令以实现“后退”功能。
doctype html5
html(lang='en', ng-app='my-app')
head
meta(charset='utf-8')
meta(http-equiv='X-UA-Compatible', content='IE=edge,chrome=1')
meta(name='viewport', content='width=device-width,initial-scale=1')
//- snip
body(
ng-controller="DoloresMainCtrl"
on-swipe-right="toMainScreen($event)"
)
ion-nav-view
在控制器中
angular.module('my-app', [
'ui.router'
])
.controller 'DoloresMainCtrl', ($scope, $state)->
$scope.toMainScreen = ($event)->
$state.go '^' if $event?.gesture?.touches?.length is 2
事件触发正常,但$event.gesture.touches.length
始终为1
。
我需要设置什么才能让离子检测多次触摸?
(约束:Android 4.4 +,iOS 8 +)
答案 0 :(得分:0)
这是一个可以检测点击事件的多个触摸点的工作示例。这些点的触摸开始必须非常同步才能算作多次击打。否则,它们被视为两个连续的点击。
angular.module('my-app', ['ui.router'])
.directive('multiTap', function () {
return {
restrict: 'A',
link: function postLink(scope, element, attrs) {
element.text('this is the multi-tap directive');
var tap = ionic.onGesture("tap", handler, element[0]);
function handler(e) { console.log(e);
element.text(e.type + e.gesture.touches.length);
}
}
};
});
HTML示例:
<ion-content class="padding" multi-tap>