New to Kendo UI for AngularStart a free 30-day trial

Events

Updated on Mar 27, 2026

The Sortable emits events during drag-and-drop interactions. Use these events to track item movements, validate operations, or update external state. The events fall into three categories: drag events, data events, and navigation events.

The following example demonstrates how to listen to the Sortable events and log their properties to the console. Try dragging items within the list or between the two lists to see the events in action.

Change Theme
Theme
Loading ...

Drag Events

Drag events fire at each stage of the drag-and-drop lifecycle. Call preventDefault() on dragStart or dragOver to cancel the operation.

The following table lists all drag events and their properties:

EventTypeFires whenPreventableProperties
dragStartDragStartEventThe user begins dragging an item.Yesindex
dragOverDragOverEventThe dragged item moves over another item.Yesindex, oldIndex
dragEndDragEndEventThe user releases the dragged item.Noindex, oldIndex
dragLeavevoid (no payload)The dragged item leaves the Sortable bounds.NoNone

Data Events

Data events fire when an item changes position within or between Sortable components. The dataAdd and dataRemove events fire after dragEnd completes and are not preventable. All data events include a sender reference to the emitting Sortable instance.

The following table lists all data events and their properties:

EventTypeFires whenPreventableProperties
dataMoveDataMoveEventAn item moves to a new position in the same list.YesdataItem, index, oldIndex, sender
dataAddDataAddEventAn item is added from another Sortable.NodataItem, index, sender
dataRemoveDataRemoveEventAn item is removed and transferred to another Sortable.NodataItem, index, sender

The navigate event fires when the user moves items with the keyboard. Call preventDefault() to cancel keyboard navigation.

EventTypeFires whenPreventableProperties
navigateNavigateEventThe user moves an item with the keyboard.Yesindex, oldIndex, ctrlKey

Event Firing Order

When the user transfers an item between two Sortable components, the events fire in the following sequence:

  1. dragStart—on the source Sortable.
  2. dragOver—on the target Sortable (fires repeatedly as the item moves).
  3. dragEnd—on the source Sortable.
  4. dataAdd—on the target Sortable.
  5. dataRemove—on the source Sortable.