#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# dd Module

User Guide & Examples
Defined in: `dd/js/scroll.js:365`

The Drag & Drop Utility allows you to create a draggable interface efficiently, buffering you from browser-level abnormalities and enabling you to focus on the interesting logic surrounding your particular implementation. This component enables you to create a variety of standard draggable objects with just a few lines of code and then, using its extensive API, add your own specific implementation logic.

This module provides the following classes:

- DD.DDM
- DD.Delegate
- DD.Drag
- DD.Drop
- DD.Scroll
- Plugin.DDConstrained
- Plugin.DDNodeScroll
- Plugin.DDProxy
- Plugin.DDWindowScroll
- Plugin.Drag
- Plugin.Drop

This module is a rollup of the following modules:

- dd-constrain
  The Drag & Drop Utility allows you to create a draggable interface efficiently, buffering you from browser-level abnormalities and enabling you to focus on the interesting logic surrounding your particular implementation. This component enables you to create a variety of standard draggable objects with just a few lines of code and then, using its extensive API, add your own specific implementation logic.
- dd-ddm
  Extends the dd-ddm-base Class to add support for the viewport shim to allow a draggable anode to drag to be dragged over an iframe or any other node that traps mousemove events. It is also required to have Drop Targets enabled, as the viewport shim will contain the shims for the Drop Targets.
- dd-ddm-base
  Provides the base Drag Drop Manger required for making a Node draggable.
- dd-ddm-drop
  Extends the dd-ddm Class to add support for the placement of Drop Target shims inside the viewport shim. It also handles all Drop Target related events and interactions.
- dd-delegate
  Provides the ability to drag multiple nodes under a container element using only one Y.DD.Drag instance as a delegate.
- dd-drag
  Provides the ability to drag a Node.
- dd-drop
  Provides the ability to create a Drop Target.
- dd-drop-plugin
  Simple Drop plugin that can be attached to a Node via the plug method.
- dd-gestures
  This module is the conditional loaded `dd` module to support gesture events in the event that `dd` is loaded onto a device that support touch based events. This module is loaded and over rides 2 key methods on `DD.Drag` and `DD.DDM` to attach the gesture events. Overrides `DD.Drag._prep` and `DD.DDM._setupListeners` methods as well as set's the property `DD.Drag.START_EVENT` to `gesturemovestart` to enable gesture movement instead of mouse based movement.
- dd-plugin
  Simple Drag plugin that can be attached to a Node or Widget via the plug method.
- dd-proxy
  Plugin for dd-drag for creating a proxy drag node, instead of dragging the original node.
- dd-scroll
  Base scroller class used to create the Plugin.DDNodeScroll and Plugin.DDWinScroll. This class should not be called on it's own, it's designed to be a plugin.