此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

DataTransferItem.getAsString()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016年11月⁩.

DataTransferItem.getAsString() 当 DataTransferItem 对象的 kind 属性是一个普通 Unicode 字符串时,该方法会用 DataTransferItem 对象的 kind 属性作为入参来执行传入的回调函数 (i.e. kind is string).

示例

dataTransferItem.getAsString(callback);

Parameters

callback

A callback function that has access to the data transfer item's string data. See Callback below for details.

Return value

undefined

Callback

The callback parameter is a callback function which accepts one parameter:

DOMString

The drag data item's string data.

The callback return value is undefined.

Example

This example shows the use of the getAsString() method as an inline function in a drop event handler.

js
function drop_handler(ev) {
  console.log("Drop");
  ev.preventDefault();
  var data = ev.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) {
        ev.target.appendChild(document.getElementById(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 ");
    }
  }
}

Specifications

Specification
HTML
# dom-datatransferitem-getasstring-dev

Browser compatibility

See also