@@ -56,7 +56,7 @@ export function Draggable(options: DraggableOption) {
56
56
57
57
function executeDragCallbackWhenDefined ( callback ?: ( e : DragEvent , dd : DragItem ) => boolean | void , evt ?: MouseEvent | Touch | TouchEvent , dd ?: DragItem ) {
58
58
if ( typeof callback === 'function' ) {
59
- callback ( evt as DragEvent , dd as DragItem ) ;
59
+ return callback ( evt as DragEvent , dd as DragItem ) ;
60
60
}
61
61
}
62
62
@@ -80,13 +80,15 @@ export function Draggable(options: DraggableOption) {
80
80
deltaX = targetEvent . clientX - targetEvent . clientX ;
81
81
deltaY = targetEvent . clientY - targetEvent . clientY ;
82
82
originaldd = Object . assign ( originaldd , { deltaX, deltaY, startX, startY, target } ) ;
83
- executeDragCallbackWhenDefined ( onDragInit as ( e : DragEvent , dd : DragPosition ) => boolean | void , event , originaldd as DragItem ) ;
84
-
85
- document . body . addEventListener ( 'mousemove' , userMoved ) ;
86
- document . body . addEventListener ( 'touchmove' , userMoved ) ;
87
- document . body . addEventListener ( 'mouseup' , userReleased ) ;
88
- document . body . addEventListener ( 'touchend' , userReleased ) ;
89
- document . body . addEventListener ( 'touchcancel' , userReleased ) ;
83
+ const result = executeDragCallbackWhenDefined ( onDragInit as ( e : DragEvent , dd : DragPosition ) => boolean | void , event , originaldd as DragItem ) ;
84
+
85
+ if ( result !== false ) {
86
+ document . body . addEventListener ( 'mousemove' , userMoved ) ;
87
+ document . body . addEventListener ( 'touchmove' , userMoved ) ;
88
+ document . body . addEventListener ( 'mouseup' , userReleased ) ;
89
+ document . body . addEventListener ( 'touchend' , userReleased ) ;
90
+ document . body . addEventListener ( 'touchcancel' , userReleased ) ;
91
+ }
90
92
}
91
93
}
92
94
0 commit comments