The read-only DataTransferItem.type property returns the type (format) of the DataTransferItem object representing the drag data item. The type is a Unicode string generally given by a MIME type, although a MIME type is not required.

Some example types are: text/plain and text/html.



Return value

A DOMString representing the drag data item's type.


This example shows the use of the type property.

function drop_handler(ev) {
 var data = event.dataTransfer.items;
 for (var i = 0; i < data.length; i += 1) {
   if ((data[i].kind == 'string') && 
       (data[i].type.match('^text/plain'))) {
     // This item is the target node
     data[i].getAsString(function (s){; 
   } else if ((data[i].kind == 'string') && 
              (data[i].type.match('^text/html'))) {
     // Drag data item is HTML
     console.log("... Drop: HTML");
   } else if ((data[i].kind == 'string') && 
              (data[i].type.match('^text/uri-list'))) {
     // Drag data item is URI
     console.log("... Drop: URI");
   } else if ((data[i].kind == 'file') && 
              (data[i].type.match('^image/'))) {
     // Drag data item is an image file
     var f = data[i].getAsFile();
     console.log("... Drop: File ");


Specification Status Comment
WHATWG HTML Living Standard
The definition of 'type' in that specification.
Living Standard Initial version
The definition of 'type' in that specification.
Working Draft Snapshot of the HTML WHATWG document

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 4 50 (50) No support 12 No support
Feature Android Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support No support No support No support 50.0 (50) No support No support No support No support

See also

Document Tags and Contributors

 Contributors to this page: teoli, Sheppy, rolfedh, AFBarstow
 Last updated by: teoli,