DataTransferItem: getAsString() 方法
DataTransferItem.getAsString()
方法在项目 kind
是纯 Unicode 字符串(即 kind
为 string
)的情况下,将拖放数据项目的字符串数据作为参数调用给定的回调函数。
语法
js
getAsString(callbackFn)
参数
callbackFn
-
接收以下参数的回调函数
data
-
DataTransferItem
的字符串数据。
返回值
无(undefined
)。
示例
此示例展示了在 drop
事件处理程序中将 getAsString()
方法用作内联函数。
js
function dropHandler(ev) {
console.log("Drop");
ev.preventDefault();
const data = ev.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 === "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
const f = data[i].getAsFile();
console.log("… Drop: File");
}
}
}
规范
规范 |
---|
HTML 标准 # dom-datatransferitem-getasstring-dev |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。