This page is part of a static HTML representation of the TiddlyWiki at


23rd February 2022 at 2:51pm

The DraggableWidget creates a DOM element that can be dragged by the user. It only works on browsers that support drag and drop, which typically means desktop browsers, but there are workarounds.

The draggable element can be assigned a list of tiddlers that are used as the payload. If desired it can invoke actions when dragging starts and when it ends. See DragAndDropMechanism for an overview.

Content and Attributes

tiddlerOptional title of the payload tiddler for the drag
filterOptional filter defining the payload tiddlers for the drag
tagOptional tag to override the default "div" element created by the widget
selector New in: 5.2.2 Optional CSS Selector to identify a DOM element within the widget that will be used as the drag handle
classOptional CSS classes to assign to the DOM element created by the widget. The class tc-draggable is added to the drag handle, which is the same as the DOM element created by the widget unless the selector attribute is used. The class tc-dragging is applied to the drag handle while the element is being dragged
startactionsOptional action string that gets invoked when dragging starts
endactionsOptional action string that gets invoked when dragging ends
dragimagetype New in: 5.2.0 Optional type of drag image: dom (the default) or blank to disable the drag image

Either or both of the tiddler and filter attributes must be specified in order for there to be a payload to drag.

The actionTiddler Variable is accessible in both startactions and endactions. It holds the payload tiddler(s) specified through the tiddler and filter attributes as a Title List using double square brackets to quote titles that include whitespace.

Note that the actionTiddler Variable holds a Title List quoted with double square brackets. This is unlike the DroppableWidget which uses the same variable to pass a single unquoted title.

When specifying a DOM node to use as the drag handle with the selector attribute, give it the class tc-draggable in order for it to have the appropriate cursor.

The LinkWidget incorporates the functionality of the DraggableWidget via the draggable attribute.