Javascript--dataTransfer

描述:

提供对于预定义的剪贴板格式的访问,以便在拖拽中使用

属性 描述 参数
dropEffect[=sCursorStyle] 设置或获取拖拽操作的类型和要显示的光标类型 可选的
copy 复制样式被显示
link  链接样式被显示
move  移动样式被显示
none  默认,没有鼠标样式被定义
effectAllowed[=sEffect] 设置或获取数据传送操作可应用与该对象的源元素 可选的
copy 选项被复制
link  选项被dataTransfer作为link方式保存
move  当放置时,对象被移动至目标对象
copylink  选项是被复制还是被作为link方式保存关键在于目标对象
linkmove 选项是被作为link方式保存还是被移动关键在于目标对象
all 所有效果都被支持
none 不支持任何效果
uninitialized 默认不能通过这个属性传递任何值

说明:

effectAllowed定义了在源对象上的操作,可定义在ondragstart事件中.

dropEffect定义了在目标对象上的操作,可定义在ondrop,ondragenter,ondragover事件中.

effectAllowed可以定义all操作,但是dropEffect可以定义copy操作.

The target object of a drag-and-drop operation can set the dropEffect during the ondragenterondragover, and ondrop events. To display the desired cursor until the final drop, the default action of the ondragenterondragover, and ondrop events must be canceled and the dropEffect must be set.

例子:

    <span ondragstart="DragStart()">
        This Is A Test String.
    </span>
    <p> </p>
    <div id="dv" style="border:solid 1px black;height:150px;width:200px" ondrop="Drop()" ondragover="DragOver()"
        ondragenter="DragEnter()">
        [Drop To Here]
    </div>
    <script type="text/javascript">
        function DragStart(){
            event.dataTransfer.effectAllowed="copy";
        }

        function Drop(){
            DragOver();
            event.srcElement.innerText=event.srcElement.innerText+event.dataTransfer.getData("text");
        }

        function DragEnter(){
            DragOver();
            event.dataTransfer.dropEffect="copy";
        }

        function DragOver(){
            event.returnValue=false;
        }

    </script>
方法 描述 参数
setData(sFormat,sData) 将指定格式的数据赋值给dataTransfer或者clipboardData sFormat:URL,Text
getData(sFormat) 从dataTransfer或者clipboardData中获取值 sFormat:URL,Text
clearData([sFormat]) 通过dataTransfer或者clipboardData中删除某种格式的数据 sFormat:Text,URL,File,HTML,Image

例子:

<SCRIPT>
function InitiateDrag(){
    event.dataTransfer.setData("URL", document.getElementById("oSource").href);
}

function FinishDrag(){
    document.getElementById("oTarget").innerText = event.dataTransfer.getData("URL");
}
</SCRIPT>
</HEAD>
<BODY>
    <A ID="oSource" href="http://www.sohu.com" ondragstart="InitiateDrag()" onclick="return false;" >Test Anchor</A>
    <SPAN ID="oTarget" ondragenter="FinishDrag()">Drop Here</SPAN>
</BODY>

效果:

选中Test Anchor,然后拖放至Drop Here时,效果如下:

Javascript--dataTransfer,布布扣,bubuko.com

时间: 2024-10-13 17:07:52

Javascript--dataTransfer的相关文章

每天一个JavaScript实例-html5拖拽

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-html5拖拽</title> <style> #drop{ width:300px; height:200px; background-

Datatransfer对象

拖放触发的拖放事有一个datatransfer属性,该属性值是一个Datatransfer对象,利用这个方法可以实现一个简单的添加删除的拖放事件 <html> <head> <meta charset="utf-8"> <meta name="author" content="dongfeng"> <title>通过拖放实现添加和删除</title> <style>

【温故而知新-Javascript】使用拖放

HTML5 添加了对拖放(drag and drop)的支持.我们之前只能依靠jQuery 这样的JavaScript库才能处理这种操作.把拖放内置到浏览器的好处是它可以正确的集成到操作系统中,而且正如将要看到的,它能跨浏览器工作. 1. 创建来源项目 我们通过 draggable属性告诉浏览器文档里的哪些元素可以被拖动.这个值有三个允许的值: 它的默认值是auto,即把决定权交给浏览器,通常来说这就意味着所有元素默认都是可拖动的,我们必须显示设置draggable 属性为false 来禁止拖动

通过 File API 使用 JavaScript 读取文件

原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的标准方式.为了举例说明其功能,可使用 File API 在向服务器发送图片的过程中创建图片的缩略图预览,或者允许应用程序在用户离线时保存文件引用.另外,您可以使用客户端逻辑来验证上传内容的 mimetype 与其文件扩展名是否匹配,或者限制上传内容的大小. 该规范通过“本地”文件系统提供了多种文件访

JavaScript一个拖动元素的实例

<script type="text/javascript" src="./whenReady.js"></script> <body> <script type="text/javascript"> whenReady(function(){ var clock = document.getElementById('clock'); //时钟元素 var icon = new Image(); /

《JAVASCRIPT高级程序设计》原生拖放和媒体元素

一.原生拖放 最早在网页中引入javascript拖放功能的是IE4,当时,网页中只有两种对象可以拖放:图像和某些文本.而现在,几乎网页中的任何元素都可以拖放以及作为放置目标.下面介绍一些与拖放相关的内容: 1.拖放事件 在拖放事件中,将依次在被拖动的元素和作为放置目标的元素上触发3个事件: 被拖动的元素:dragstart----drag----dragend 作为放置目标的元素:dragenter----dragover---dragleave(元素被拖出了目标)或drop(元素被放到了放置

JavaScript实现简单的前端上传图片预览

JavaScript实现简单的前端上传图片预览 <div class="file_upload"> <div id="portrait"></div> <input type="file" name="" id="" onchange="showPerview(this)"> </div> <script type=&qu

javascript实现拖曳与拖放图片

其实对于drag和drop拖曳与拖放事件IE很早以前就支持这个操作了,我们先来看看HTML5中新增的拖放API. 在HTML5中想要实现拖放操作,至少要做以下操作: 1. 将要拖放的对象元素的draggable属性设置为true,即(draggable="true"),这样才能拖放该元素,且img元素与a元素(必须指定href)默认允许拖放操作.如代码: <li draggable="true">Item 1</li> 2. 编写与拖放有关的

你想的到想不到的 javascript 应用小技巧方法

javascript 在前端应用体验小技巧继续积累. 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x

javascript 新兴的API

javascript 新兴的API 分类: javascript2012-12-31 16:02 215人阅读 评论(0) 收藏 举报 很多的API都有着特定的前缀,例如微软的ms,谷歌和safari的webkit.这些新兴的API去掉前面的前缀后,剩下的部分是一样的. requestAnimationFrame() 用于动画重绘的API,它可以告诉浏览器,动画开始,浏览器就可以确定重绘的最佳方式. 早期的动画的典型方式是使用setInterval()方法来控制所有的动画.下面是早期动画的基本方