--- title: DataTransfer.getData() slug: Web/API/DataTransfer/getData translation_of: Web/API/DataTransfer/getData ---

{{APIRef("HTML DOM")}}

DataTransfer.getData() 方法接受指定类型的拖放(以{{domxref("DOMString")}}的形式)数据。如果拖放行为没有操作任何数据,会返回一个空字符串。

数据类型有:text/plaintext/uri-list。

语法

DOMString dataTransfer.getData(format);

参数

format
{{domxref("DOMString")}}类型

返回值

{{domxref("DOMString")}}
返回一个给定类型的{{domxref("DOMString")}}格式的数据。如果没有操作数据或者没有指定操作数据的类型,都会返回一个空字符串。

注意

HTML5 拖放规范 规定了一个 drag data store mode。这可能会导致预期外的结果,即 DataTransfer.getData() 没有返回预期值。

示例

这个例子展示了 {{domxref("DataTransfer")}}对象的{{domxref("DataTransfer.getData()","getData()")}}和{{domxref("DataTransfer.setData()","setData()")}}方法。

HTML

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
    <span id="drag" draggable="true" ondragstart="drag(event)">drag me to the other box</span>
</div>
<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

CSS

#div1, #div2 {
    width:100px;
    height:50px;
    padding:10px;
    border:1px solid #aaaaaa;
}

JavaScript

function allowDrop(allowdropevent) {
    allowdropevent.target.style.color = 'blue';
    allowdropevent.preventDefault();
}

function drag(dragevent) {
    dragevent.dataTransfer.setData("text", dragevent.target.id);
    dragevent.target.style.color = 'green';
}

function drop(dropevent) {
    dropevent.preventDefault();
    var data = dropevent.dataTransfer.getData("text");
    dropevent.target.appendChild(document.getElementById(data));
    document.getElementById("drag").style.color = 'black';
}

结果

{{ EmbedLiveSample('Example', 600) }}

说明

Specification Status Comment
{{SpecName("HTML WHATWG", "interaction.html#dom-datatransfer-getdata", "getData()")}} {{Spec2("HTML WHATWG")}}
{{SpecName("HTML5.1", "editing.html#dom-datatransfer-getdata", "getData()")}} {{Spec2("HTML5.1")}} Initial definition

兼容性

{{Compat("api.DataTransfer.getData")}}

参考

{{page("/en-US/docs/Web/API/DataTransfer", "See also")}}