DataTransferItem:kind 属性

只读的DataTransferItem.kind属性返回表示拖动数据项DataTransferItem对象的种类(字符串或文件)。

表示拖动数据项种类的字符串。它必须是以下值之一

'file'

如果拖动数据项是文件。

'string'

如果拖动数据项的种类是纯 Unicode 字符串

示例

此示例演示了kind属性的用法。

js
function dropHandler(ev) {
  console.log("Drop");
  ev.preventDefault();
  const data = event.dataTransfer.items;
  for (let 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((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 === "file" && data[i].type.match("^image/")) {
      // Drag data item is an image file
      const f = data[i].getAsFile();
      console.log("… Drop: File");
    }
  }
}

规范

规范
HTML 标准
# dom-datatransferitem-kind-dev

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅