【发布时间】:2017-09-21 19:07:15
【问题描述】:
嗨,伙计们,我的要求是使元素可在屏幕上拖动,并将元素的位置设置为用户停止拖动的位置。到目前为止,我能够使一个元素在屏幕上可拖动,但一旦释放它就会回到它的旧位置(它之前的位置)我正在使用 ngDraggable angular 指令。抱歉,我是 Ionic 和 Angular 的新手。任何帮助将不胜感激。 我的代码如下
<div ng-drag="true" id="draggableAxis" ng-style="{{draggedStyle}}" ng-drag-success="onDragComplete($data,$event)">
<img src="img/axis.png" >
<img ng-src="img/other.png" style="width:75px">
</div>
在我的控制器中:
$scope.draggedStyle = {top: '96px',
right: '90px'};
var onDraggableEvent = function(evt, data) {
if(evt.name=='draggable:start'){
console.log('draggable-start');
console.log(data.x);
console.log(data.y);
}else{
console.log('draggable-end');
console.log(data);
console.log(data.element.centerX +' '+data.element.centerY);
console.log(evt);
$scope.setPosition(data);
}
}
$scope.onDragComplete=function(data,evt){
console.log("drag success, data:", data);
console.log(evt);
}// this fn doesnot gets triggered
$scope.$on('draggable:start', onDraggableEvent);
$scope.$on('draggable:end', onDraggableEvent);
$scope.setPosition=function(data){
$scope.draggedStyle = {
top: data.x+'px',
right: data.y+'px'
};
}
【问题讨论】:
-
不熟悉该库,但我没有看到您定义放置区域的任何地方。 npmjs.com/package/ng-draggable表示如何定义放置区域
-
这样,我见过的大多数拖放解决方案都定义了源区域和目标区域。
-
我不想将元素放在特定区域我希望元素留在用户离开拖动的位置。我是否需要为此定义放置区域
-
我参考了同一个站点。我们在那里实现了拖放
-
这两天我一直在为此苦苦挣扎
标签: angularjs ionic-framework hybrid-mobile-app