The DataTransfer
object is used to hold the data that is being dragged during a drag and drop operation. It may hold one or more data items, each of one or more data types. For more information about drag and drop, see HTML Drag and Drop API.
This object is available from the dataTransfer
property of all drag events
. It cannot be created separately (i.e. there is no constructor for this object).
DataTransfer.dropEffect
none
, copy
, link
or move
.DataTransfer.effectAllowed
none
, copy
, copyLink
, copyMove
, link
, linkMove
, move
, all
or uninitialized
.DataTransfer.files
DataTransfer.items
Read only
DataTransferItemList
object which is a list of all of the drag data.DataTransfer.types
Read only
strings
giving the formats that were set in the dragstart
event. This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
DataTransfer.mozCursor
DataTransfer.mozItemCount
Read only
DataTransfer.mozSourceNode
Read only
Node
over which the mouse cursor was located when the button was pressed to initiate the drag operation. This value is null
for external drags or if the caller can't access the node.DataTransfer.mozUserCancelled
Read only
dragend
event, and is true
if the user canceled the drag operation by pressing escape. It will be false
in all other cases, including if the drag failed for any other reason, for instance due to a drop over an invalid location.DataTransfer.clearData()
DataTransfer.getData()
DataTransfer.setData()
DataTransfer.setDragImage()
This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
DataTransfer.addElement()
DataTransfer.mozClearDataAt()
DataTransfer.mozGetDataAt()
DataTransfer.mozSetDataAt()
mozSetDataAt()
may only be called with an index argument less than mozItemCount
in which case an existing item is modified, or equal to mozItemCount
in which case a new item is added, and the mozItemCount
is incremented by one.DataTransfer.mozTypesAt()
Every method and property listed in this document has its own reference page and each reference page either directly includes an example of the interface or has a link to an example.
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard The definition of 'DataTransfer' in that specification. | Living Standard |
mozCursor , mozItemCount , mozSourceNode , mozUserCancelled , addElement() , mozClearDataAt() , mozGetDataAt() , mozSetDataAt() and mozTypesAt are Gecko specific. |
HTML5.1 The definition of 'DataTransfer' in that specification. | Recommendation | Not included in W3C HTML5 Recommendation |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 4 | (Yes) | 3.5 [2] 52 (52)[3] | 10 [1] [2] | 12 | 3.1 [2] |
items property | 4 | (Yes) | 50 | No support | 12 | No support |
Feature | Android | Android Webview | Chrome for Android | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|---|---|
Basic support | No support | No support | No support | (Yes) |
(Yes) 52.0 (52)[3] | No support | 10[1][2] | No support | No support |
items property | No support | No support | No support | (Yes) | 50.0 (50) | No support | No support | No support | No support |
[1] Partial support refers to not supporting DataTransfer.setDragImage()
[CanIUse.com].
[2] Does not support DataTransfer.items
property.
[3] As of Firefox 52, the DataTransfer.types
property returns a frozen array of DOMString
s as per spec, rather than a DOMStringList
.
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer