Angular Dragdrop程序化拾取

时间:2013-11-13 00:31:52

标签: angularjs triggers jquery-ui-draggable

在我的页面上,我正在使用你的角度拖拉来处理小部件的拖放。我正在努力的行为与在iOS上重新安排应用程序相同,按住并进入拖动模式,一旦进入模式,小部件就变得可拖动。

为此,我创建了一个自定义ng-mousedown,它使用$ timeout来触发其他小部件变为可拖动。 $ timeout回调还应该以编程方式将当前对象附加到游标,但我似乎无法从此方法内部启动拖动。我尝试过标准的jQuery UI可拖动调用:$("#widget" + id ).trigger("mousedown.draggable")

如何使用angular-dragdrop进行此操作?

1 个答案:

答案 0 :(得分:1)

我用$("#widgetDraggable" + index).trigger(event);解决了这个问题,如:

<div class="drag" ng-model="widgets"
     jqyoui-draggable="{ index: {{$index}} }" 
     data-item="{{item}}" id="{{ 'widgetDraggable' + $index }}"
     ng-mousedown="mouseDown( $event, this, $index, item);">
 --Widget Template--
</div>

$scope.mouseDown = function (event, item, index, element) {
  $scope.dragTimeout = $timeout(function () {
    $scope.pickUpWidget(event,item, index, element);        
  }, 1000);
};

$scope.pickUpWidget = function (event, item, index, element){
  item.floating = true;
  setAllWidgetsToDrag(true);
  // The line that threw me, seems easy enough:
  $("#widgetDraggable"+index).trigger(event); 
}

但我仍然对jQuery重量级解决方案感兴趣。只是出于好奇。我甚至提供25美元的赏金:http://www.codersclan.net/ticket/127