在我的移动应用程序中,我在主视图中以 HTML 格式显示内容:
<div class="imageView" na-swipe="next()" na-tap="showControls()"> content here </div>
为了使用 jQuery(或 Hammer.js)处理事件swipe
,touch
我创建了这两个指令:
angular.module("naModule").directive 'naTap', ->
(scope, element, attrs) ->
tapping = false
element.bind 'touchstart', -> tapping = true
element.bind 'touchmove', -> tapping = false
element.bind 'touchend', -> scope.$apply(attrs['naTap']) if tapping
angular.module("naModule").directive 'naSwipe', ->
(scope, element, attrs) ->
tapping = false
swiping = false
element.bind 'touchstart', -> tapping = true
element.bind 'touchmove', -> swiping = true
element.bind 'touchend', -> scope.$apply(attrs['naSwipe']) if (swiping and tapping)
naSwipe
似乎运行良好,即在next()
执行滑动时调用......但是,当我点击next()
并showControls()
同时开火时......我如何干净地分开触摸并在这个 div 上滑动?谢谢。