dataTransfer 对象主要有两个方法:getData() 和 setData(),用来取值和保存值。
setData() 方法的第一个参数,也是 getData() 方法唯一的一个参数,是一个字符串,表示保存的数据类型。IE只定义了"text" 或 "URL" 两种有效的数据类型, 而 HTML5 对此加以扩展,允许指定各种 MIME 类型 。考虑向后兼容,HTML5 也支持这两种类型,但这两种类型会被映射为 "text/plain" 和 "text/uri-list"。 //设置和接收文本数据
event.dataTransfer.setData('text', 'some text');
var text = event.dataTransfer.getData('text');
//设置和接收 URL
event.dataTransfer.setData('URL', 'http://www.xxx.com');
var url = event.dataTransfer.getData('URL');
实际上,dataTransfer 对象可以为每种 MIME 类型都保存一个值,即可以同时保存一段文本和一个URL。
但是数据保存为文本或 URL 是有区别的,如果数据保存为文本不会有任何特殊处理,但是数据保存为 URL,浏览器会当成网页中的链接,如果放置到另一个浏览器窗口,浏览器会打开该 URL,所以不希望打开链接需要阻止默认处理。