2

요소를 클릭 할 수 있고 드래그 할 수있는 ng-repeat 안에 요소 목록이 있습니다. 표시를 클릭하고 드래그하면 ... 요소를 드래그합니다."클릭 가능"및 "드래그 가능"영역 모두

드래그 할 때 드래그 할 요소의 수와 함께 원을 표시하고 있습니다.

내 문제는 클릭 할 때 드래그 원이 표시된다는 것입니다. 반면 나는 단지 클릭하고 끌고 싶지 않다.

길게 누르는 동작 (마우스 사용)과 같이 과 끌기 동작을 구별하는 방법이 있습니까??

이것은 this post과 비슷하지만 클릭 할 때 끌기를 방지하고 싶습니다 (각도 방식으로). 여기

일부 마크 업 : 나는 ngDraggable 지시어를 사용하고

<div class="docs-manager-doc box-container" ng-class="{'showActions':doc.showActions}"> 
    <a class="box-square" ng-href ng-click="docsManager.toggleDocumentSelection(doc)"> 
     <span class="flaticon-dark" 
      ng-class="{ 'flaticon-video-embed':(!doc.selected && doc.ref && doc.targetType==='EMBEDDED_VIDEO'), 
         'flaticon-{{doc.label | docExtMap}}':!doc.selected && !doc.ref, 
         'flaticon-tick':doc.selected }" ibp-prevent-drag> 
     </span> 
    </a> 

    <a ng-drag="true" ng-drag-data="doc" ng-drag-success="onDragComplete($data)" ng-drag-begin="onDragStart($data)" ng-drag-stop-move="onDragStop($data, $event)"> 
     <span class="box-drag"> 
      <span class="dragging" ng-show="iamdragging" > 
       <span class="flaticon-dark flaticon-small"> 
        <p class="flaticon-default-doc">{{docsManager.documents.selected.length}}</p> 
       </span> 
      </span> 
     </span> 
    </a> 
</div> 

.

는 여기에 몇 가지 코드가 도움이된다면 :

.controller('DocumentsManagerCtrl', ['...', 
    function(...) { 

     $scope.iamdragging = false; 

     $scope.onDragStop = function(data, event){ 
      $scope.iamdragging = false; 
     }; 

     $scope.onDragStart = function(data){ 
      if(!data.selected){ 
       $scope.docsManager.toggleDocumentSelection(data); 
      } 
      $scope.iamdragging = true; 
     }; 

     $scope.onDragComplete = function(){ 
       // do something 
     }; 

은 NG가 클릭 또는 드래그처럼 클릭이 2 초 이상 경우가 드래그로 해석을가 지시문을하는 것이 좋을 수 수 있음 .

+0

이것에 대한 모든 진전이 있습니까? 나는 똑같은 문제를 겪고있다. – Pathsofdesign

답변

1

여기에서 부분적으로 문제가 해결되었습니다. https://github.com/fatlinesofcode/ngDraggable/issues/12. 질문을 탐색하는 다른 사람에게 유용합니다.

끌기 동작을 시작하려는 모든 요소에 ng-prevent-drag = "true"를 설정하면 해당 객체에서 끌기 동작 시작이 비활성화됩니다.

나는이 질문을 한 benek도 위 링크의 토론에 참여했다고 생각합니다. 그는 이것이 ipad에서 깨지는 것을 지적했지만, 노트북에서 작동하는지 테스트 해 보았습니다.