2015-05-30 53 views
2

我使用https://github.com/fatlinesofcode/ngDraggable進行拖動& Drop in AngularJS。 它工作得很好,但我需要做一些操作,當用戶開始拖動。這是myMethod()。我實施了ng-mousedown。在桌面上沒有問題,但它不適用於觸摸設備。如何調用在AngularJS中開始觸摸/拖動的方法

<div ng-drag="true" ng-drag-data="myObject" ng-mousedown="myMethod()"> 
    123 
</div> 

任何想法?

+1

迪迪您嘗試使用'ngTouch','ngSwipeLeft'或'ngSwipeRight'模塊?看看[這裏](https://docs.angularjs.org/api/ngTouch) – Maraboc

+0

是的,我試過了。 ngTouch只有三個指令。 ngClick,ngSwipeLeft和ngSwipeRight(https://docs.angularjs.org/api/ngTouch)。 – JV3

回答

0

對於所有誰都有同樣的問題:

我用ngTouch模塊的$刷卡服務。給定的div現在是一個指令。在拖動myMethod()時被調用。

HTML:

<my-directive ng-drag="true" ng-drag-data="myObject" on-drag="myMethod()"></my-directive> 

指令:

angular.module('myApp') 
.directive('myDirective', ['$swipe', 
    function($swipe) { 

    return { 
     restrict: 'EA', 
     scope: { 
     onDrag: '&' 
     }, 
     link: function(scope, ele, attrs, ctrl) { 
     $swipe.bind(ele, { 
      'start': function(coords) { 
      scope.onDrag(); 
      } 
     } 
    } 
}]);