2014-04-25 16 views
0

我有一排可排序的元素。我使用ui-sortable,因爲它與angularjs很好地搭配。我希望排序圖標(向上和向下箭頭)是唯一可以啓動拖拽父元素的元素。 這基本上就是我與Drag and Drop of list元素拖動元素的唯一方法是通過內部元素

<ul ui-sortable="phoneSortableOptions" ng-model="lead.phoneList"> 
    <li ng-repeat="phone in lead.phoneList | orderBy: 'displayOrder'"> 
     <span class="contact-title" > Phone </span> 
     <div class="contact-move-up-down button-move-up-down" ></div> 
     <span> {{phone}} </span> 
    </li> 
</ul> 

唯一的一塊工作,我想應該是拖動

<div class="contact-move-up-down button-move-up-down" ></div> 

我通讀文件,但沒有找到一種方法,使只有一個元素拖動。任何洞察這個問題將不勝感激。

另外,如果我沒有弄錯,可以使用jQuery排序。

回答

0

有很多方法,以防止對象的拖動,但爲我工作的一個是

app.directive('preventDrag', function() { 
    return { 
     link: function (scope, element, attributes) { 
      element.on('mousedown', (e) { 
       e.stopPropagation(); 
      }); 
     } 
    } 
}); 

我希望更多的圖書館修復,但是這是不是太糟糕。

您也可以嘗試

  • 用戶選擇:無; // css
  • onmousedown =「return false;」
  • ondragstart =「return false;」