在我的页面上,我正在使用你的角度拖拉来处理小部件的拖放。我正在努力的行为与在iOS上重新安排应用程序相同,按住并进入拖动模式,一旦进入模式,小部件就变得可拖动。
为此,我创建了一个自定义ng-mousedown,它使用$ timeout来触发其他小部件变为可拖动。 $ timeout回调还应该以编程方式将当前对象附加到游标,但我似乎无法从此方法内部启动拖动。我尝试过标准的jQuery UI可拖动调用:$("#widget" + id ).trigger("mousedown.draggable")
如何使用angular-dragdrop进行此操作?
答案 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