This page is In Progress

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.


Overview Table

Synchronous No
Bubbles No
Target dom/Element
Cancelable No
Default action ?
## Examples

This example uses event bubbling to handle the ondragstart event at the body level.

<body ondragstart="console.log(event.srcElement.tagName)">
    <input type="text" value="Select and drag this text">
    Select and drag this text
    <textarea>Select and drag this text</textarea>

View live example

This example shows when and where each event fires during a drag-and-drop operation by listing each event and the name of the object firing it in a list box.

// Code for dynamically adding options to a select.
function ShowResults()
{               // Information about the events
                 // and what object fired them.
  arg = event.type + "  fired by  " +;
  var oNewOption = new Option();
  oNewOption.text = arg;
<P>Source events are wired up to this text box.</P>
<INPUT ID=txtDragOrigin VALUE="Text to Drag"
<P>Target events are bound to this text box.</P>
<INPUT ID=txtDragDestination VALUE="Drag Destination"
<SELECT ID=oResults SIZE=30>
  <OPTION>List of Events Fired

View live example



The ondragstart event is the first to fire when the user starts to drag the mouse. It is essential to every drag operation, yet is just one of several source events in the data transfer object model. Source events use the setData method of the dataTransfer object to provide information about data being transferred. Source events include dragstart, drag, and dragend. When dragging anything other than an img object, some text to be dragged must be selected. Calls the associated event handler. To invoke this event, do one of the following:

  • Drag the selected text or object.


Standards information

There are no standards that apply here.

Event handler parameters

pEvtObj [in]
Type: ****IHTMLEventObj****