Skip to content

Draggable

Allows you to drag around elements on the screen.

new draggable(draggableOptions);
const square = new draggable({ element: '.square' });

Type:

type element = string

The element selector.

Type:

type restrictTo = string;

Restricts the dragged element to another element. That way the dragged element won’t go out of the other element bounds.

Example

const square = new draggable({ element: '.square', restrictTo: '.container' });

Type:

type dragClass = string

Class to be added to the dragged element.

Type:

type lockAxis = 'x' | 'y'

Locks the dragged element to either the x or y axis.

Example

const square1 = new draggable({ element: '.square1', lockAxis: 'x' });
const square2 = new draggable({ element: '.square2', lockAxis: 'y' });

Type:

type onDragStart = (element: HTMLElement) => void;

Executes when you start dragging the element.

Type:

type onDragMove = (position: { x: number; y: number }) => void;

Executes when you move the dragged element.

Type:

type onDragEnd = (element: HTMLElement) => void;

Executes when you stop dragging the element.

Type:

type actionName = string

The name of the action that can be used to programmatically drag the element.

Type:

type touchEnabled = boolean

Enables or disables touch events. Default is false.

Removes the event listeners and disables the draggable functionality.

You are able to drag elements using actions. Since every draggable action is unique you can do the following:

const element = new draggable({ element: '.square'});
actions.execute(element.actionName, {x: 100, y: 100, index: 0});

You will need to pass the x and y coordinates where you want the element to go and the index of the element.