2017-02-10 4 views
1

ngDraggable 모듈을 사용하고 있으며 입력 상자가 드래그 가능한 div에 배치 될 때 입력 상자가 비활성화된다는 점을 제외하면 모두 잘 작동합니다. 사용자가 텍스트를 입력 할 수 있도록 편집 가능한 상태로 유지해야합니다. AngularJS, ngDraggable - 드래그 가능 요소 내부에서 입력 상자를 편집 할 수 없습니다.

나는 데모 목적으로 http://jsfiddle.net/kkyk0j4x/10/

<div ng-app="test" ng-controller="testCtrl"> 
<div id="container"> 
    <div class="shape" ng-draggable='dragOptions'> 
     <input type="text" /><!--THIS IS NOT EDITABLE--> 
    </div> 
    <br/> 
    <br/> 
    <br/> 
    <input type="text"><!--THIS IS EDITABLE--> 
</div> 

문제에서 오는 그것을 해결하는 방법을 정확히 어디에 확실하지에 대한 기존의 바이올린 갈래. 어떤 도움을 주셔서 감사합니다.

답변

2

어디에서 문제가 발생했는지 알았고 이것이 누군가를 돕기를 바랍니다. ngDraggable 모듈 안에는 mouseDown 이벤트 내에 preventDefault 함수가 있습니다.

HTML의 드래그 가능한 요소 안에있는 입력란을 편집 할 수있게됩니다. 이 수하는 데 필요한 라이브러리의 최신 버전에서

  var onlongpress = function(evt) { 
       if(! _dragEnabled)return; 
       //evt.preventDefault(); <---- this line 
+0

:이 곳은 기능 onlongpress에 위치한 ngDraggable 플러그인의 최신 버전 :

// Bind mousedown event elem.on('mousedown', function (e) { //e.preventDefault(); ....... 

UPD (@Andremoniy) 'onlongpress' 함수에 주석 처리되었습니다. – Andremoniy