使用 jQuery Ui 和 Angular-dragdrop:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script src="js/angular-dragdrop.min.js" type='text/javascript"></script>
下载 angular-dragdrop.min.js 文件@
https://github.com/codef0rmer/angular-dragdrop/blob/master/src/angular-dragdrop.min.js
可拖动:
<div class="btn btn-primary" data-drag="true" data-jqyoui-options="{revert: 'invalid'}" ng-model="list1" jqyoui-draggable="{animate:true}" ng-hide="!list1.title">{{list1.title}}</div>
可丢弃:
<div class="thumbnail" data-drop="true" data-jqyoui-options ng-model="list2" jqyoui-droppable style='height:50px;'><div class="btn btn-success" data-drag="false" data-jqyoui-options ng-model="list2" jqyoui-draggable ng-hide="!list2.title">{{list2.title}}</div>
你的控制器应该是这样的:
var App = angular.module('drag-and-drop', ['ngDragDrop']);
App.controller('OverviewCtrl', function($scope) {
$scope.list1 = {title: 'AngularJS - Drag Me'};
$scope.list2 = {};
$scope.startCallback = function(event, ui, title) {
console.log('You started draggin: ' + title.title);
$scope.draggedTitle = title.title;
};
$scope.stopCallback = function(event, ui) {
console.log('Why did you stop draggin me?');
};
$scope.dragCallback = function(event, ui) {
console.log('hey, look I`m flying');
};
$scope.dropCallback = function(event, ui) {
console.log('hey, you dumped me :-(' , $scope.draggedTitle);
};
});
演示:http://codef0rmer.github.io/angular-dragdrop/
角度拖放:https://github.com/codef0rmer/angular-dragdrop