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

View in English Always switch to English

DataTransferItem:getAsString() 方法

基线 广泛可用

自 2016年11月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

如果拖拽数据项的 kind纯 Unicode 字符串(即 kindstring),DataTransferItem.getAsString() 方法会调用给定的回调函数,并将该拖拽数据项的字符串数据作为参数传入。

语法

js
getAsString(callbackFn)

参数

callbackFn

一个回调函数,接收以下参数:

data

DataTransferItem 的字符串数据。

返回值

无(undefined)。

示例

本示例展示了在 drop 事件处理器中将 getAsString() 方法用作内联函数的用法。

js
function dropHandler(ev) {
  console.log("放置操作");
  ev.preventDefault();
  for (const item of ev.dataTransfer.items) {
    if (item.kind === "string" && item.type.match("^text/plain")) {
      // 该项目是目标节点
      item.getAsString((s) => {
        ev.target.appendChild(document.getElementById(s));
      });
    } else if (item.kind === "string" && item.type.match("^text/html")) {
      // 拖拽数据项是 HTML
      console.log("… 放置:HTML");
    } else if (item.kind === "string" && item.type.match("^text/uri-list")) {
      // 拖拽数据项是 URI
      console.log("… 放置:URI");
    } else if (item.kind === "file" && item.type.match("^image/")) {
      // 拖拽数据项是图像文件
      const f = item.getAsFile();
      console.log("… 放置:文件");
    }
  }
}

规范

规范
HTML
# dom-datatransferitem-getasstring-dev

浏览器兼容性

参见