默认行为允许以拖动方式复制 HTML 页面中的大部分内容。可以使用 CSS 属性
-webkit-user-select
和
-webkit-user-drag
来控制允许拖动的内容。
在
dragstart
事件的处理函数中覆盖默认的拖出行为。调用事件对象的
dataTransfer
属性的
setData()
方法,以便将您自己的数据放入拖动手势。
若要指示在不依赖默认行为时源对象支持的拖动效果,请设置为
dragstart
事件调度的事件对象的
dataTransfer.effectAllowed
属性。您可以选择任意效果组合。例如,如果源元素既支持
复制
效果,也支持
链接
效果,则请将此属性设置为
"copyLink"
。
设置拖动的数据
使用
dataTransfer
属性在
dragstart
事件的处理函数中为拖动手势添加数据。使用
dataTransfer.setData()
方法将数据放到剪贴板上,同时传入 MIME 类型和要传输的数据。
例如,如果应用程序中有一个 ID 为
imageOfGeorge
的图像元素,则可以使用下面的 dragstart 事件处理函数。此示例以多种数据格式添加 George 照片的表示形式,从而增加了其他应用程序能够使用拖动的数据的可能性。
function dragStartHandler(event){
event.dataTransfer.effectAllowed = "copy";
var dragImage = document.getElementById("imageOfGeorge");
var dragFile = new air.File(dragImage.src);
event.dataTransfer.setData("text/plain","A picture of George");
event.dataTransfer.setData("image/x-vnd.adobe.air.bitmap", dragImage);
event.dataTransfer.setData("application/x-vnd.adobe.air.file-list",
new Array(dragFile));
}
注:
调用
dataTransfer
对象的
setData()
方法时,默认拖放行为不会添加任何数据。
|
|
|