The read-only DataTransferItem.kind property returns a DataTransferItem representing the drag data item kind: some text or some file.


var itemKind = DataTransferItem.kind;

Return value

A DOMString representing the drag data item's kind. It must be one of the following values:

If the drag data item is a file.
If the kind of drag data item is a plain Unicode string.


This example shows the use of the kind 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 == '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
HTML Living Standard
The definition of 'kind' in that specification.
Living Standard Initial version
HTML 5.1
The definition of 'kind' in that specification.
Recommendation W3C snapshot of the WHATWG document.

Browser compatibility

BCD tables only load in the browser

See also