Angular directive (for version >= 2.x ) that makes the DOM element draggable. Please refer to the demo page.
angular2-draggable is an angular (ver >= 2.x) directive that makes the DOM element draggable. (Note that: It's different from drag-and-drop)
-
2017.09.19: Fix an issue when dragging with touch.
-
2017.08.26: Fix an issue: clicking before dragging leading to unexpected offset (PR #12 by bmartinson13)
-
2017.07.24: Fix cross-browser compatibility issues.
-
2017.07.05: Publish
UMDbundle
npm install angular2-draggable --save
SystemJS: For example: angularquickstart. You need to modifysystemjs.config.jsfile just like:
{
map: {
// ...
// angular2-draggable
'angular2-draggable': 'npm:angular2-draggable',
},
packages: {
// other packages ...
//angular2-draggable
'angular2-draggable': {
defaultExtension: 'js',
main: 'bundles/angular2-draggable.umd.min.js'
}
}
}Please refer to the demo page.
-
Firstly, import
AngularDraggableModulein your app module (or any other proper angular module):import { AngularDraggableModule } from 'angular2-draggable'; @NgModule({ imports: [ ..., AngularDraggableModule ], ... }) export class AppModule { }
-
Then: use
ngDraggabledirective to make the DOM element draggable.-
Simple example:
- html:
<div ngDraggable>Drag me!</div>
-
Use
[handle]to move parent element:- html:
<div ngDraggable [handle]="DemoHandle" class="card"> <div #DemoHandle class="card-header">I'm handle. Drag me!</div> <div class="card-block">You can't drag this block now!</div> </div>
-
ngDraggable directive support following input porperties:
-
ngDraggable: boolean. You can toggle the draggable capability by settingtrue/falsetongDraggable -
handle: HTMLElement. Use template variable to refer to the handle element. Then only the handle element is draggable.
When ngDraggable is enabled on some element, ng-draggable class is automatically assigned to it. You can use it to customize the pointer style. For example:
.ng-draggable {
cursor: move;
}Support started and stopped events. The nativeElement of the host would be emitted.
- Simple example:
- html:
<div ngDraggable (started)="onDragBegin($event)" (stopped)="onDragEnd($event)">Drag me!</div>