DataTransfer
DataTransfer
对象用于保存上下文之间传输的任何数据,例如拖放操作或剪贴板读写。它可以保存一个或多个数据项,每个数据项可以包含一种或多种数据类型。
DataTransfer
主要针对 HTML 拖放 API 设计,作为 DragEvent.dataTransfer
属性,并且仍在 HTML 拖放部分中指定,但现在也用于其他 API,例如 ClipboardEvent.clipboardData
和 InputEvent.dataTransfer
。但是,其他 API 仅使用其接口的某些部分,忽略了 dropEffect
等属性。DataTransfer
的文档将主要讨论它在拖放操作中的用法,您应该参考其他 API 的文档以了解 DataTransfer
在这些上下文中的用法。
构造函数
DataTransfer()
-
创建并返回一个新的
DataTransfer
对象。
实例属性
DataTransfer.dropEffect
-
获取当前选定的拖放操作类型,或将操作设置为新类型。该值必须为
none
、copy
、link
或move
。 DataTransfer.effectAllowed
-
提供所有可能的操作类型。必须为
none
、copy
、copyLink
、copyMove
、link
、linkMove
、move
、all
或uninitialized
之一。 DataTransfer.files
只读-
包含数据传输中可用的所有本地文件的列表。如果拖放操作不涉及拖放文件,则此属性为空列表。
DataTransfer.items
只读-
提供一个
DataTransferItemList
对象,该对象是所有拖放数据的列表。 DataTransfer.types
只读-
一个字符串数组,给出在
dragstart
事件中设置的格式。
实例方法
DataTransfer.addElement()
实验性 非标准-
设置给定元素的拖放源。这将是在其上触发
drag
和dragend
事件的元素,而不是默认目标(被拖动的节点)。Firefox 特定。 DataTransfer.clearData()
-
删除与给定类型关联的数据。type 参数是可选的。如果类型为空或未指定,则删除与所有类型关联的数据。如果指定类型的数据不存在,或数据传输不包含数据,则此方法将不起作用。
DataTransfer.getData()
-
检索给定类型的 data,如果该类型的 data 不存在或 data 传输不包含 data,则检索空字符串。
DataTransfer.setData()
-
设置给定类型的 data。如果该类型的 data 不存在,则将其添加到末尾,以便 types 列表中的最后一项将是新的格式。如果该类型的 data 已经存在,则用新 data 替换相同位置的现有 data。
DataTransfer.setDragImage()
-
设置用于拖动的图像,如果需要自定义图像。
示例
本文档中列出的每个方法和属性都有自己的参考页面,每个参考页面要么直接包含接口示例,要么包含指向示例的链接。
规范
规范 |
---|
HTML 标准 # the-datatransfer-interface |
浏览器兼容性
BCD 表格仅在浏览器中加载