宁波网站制作通过draggable属性实现拖曳

发布时间:2015-3-20 18:03:44

宁波网站制作通过draggable属性实现拖曳

  通过draggable属性实现拖曳
  浏览器下的拖曳并不新鲜,此功能在9年的IE版本中就已经出现了。以其在IE上的应用为基础,拖曳在5年被列人规范中,并且在当前适用于除Opera之外的所有浏览器。
  以游戏中将城市按人口数排序为例,经典拖曳操作的应用包括了下列步骤:
  1.选中可被拖动的元素;
  2.开始拖曳操作同时在后台判断被拖动的数据
  3.决定被拖动元素的可释放位置,4.在拖曳操作结束于有效目标对象的同时提取数据。
  我们可以通过全局属性draggable完成第一步。该属性通过draggable=true将相关元素标记为可拖曳元素。有两个元素被默认定义为可拖曳的:img元素及a元素,若其包含href属性,那么我们就可以轻易地将这个图片或链接拖到桌面上保存。若要在避免对这些元素的拖曳,我们可以使用draggable=false。
  要将城市列表中的一个条目预设为可拖曳对象,我们首先需要为其添加可拖曳属性并设置为true:
  'Brussels
  拖曳操作是达到目的的手段而非目的本身,其作为在于将信息从一个地方传输至另一个地方。至于是哪一条信息则必须在开始拖动操作时便决定,这也就是我们为城市列表的每一个选项都加入一个dragstart事件句柄的原因。该事件句柄调用回调函数startDragO,并将事件对象-也称为DragEvent-作为参数传递:
  宁波网站制作认为  ondragstart=MstartDrag(event)">Brussels
  DragEvent在拖曳中扮演了重要角色,它的只读属性dataTransfer让我们能够访问drag-and-dropAPI的DataTransfer接口,该接提供拖曳所要用到的所有所需方法及属性。其中一种方法为setData(format,data),它在从A点到B点的拖曳过程中,决定在后台实际被拖动的数据。在本案例中,参数format为“text”,参数data为目标的ID。我们可以根据它在稍后访问原始数据:
  vardragStart=function(evt){
  evt.dataTransfer.setData('text',evt.target.id);>;为了完成拖曳,我们需要将目标放置位置保持开放。为draggable属性添加一个配对的draggable变量通常都很有用,但在这里却并非如此,这也就是为什么一次成功的放置需要至少三个事件:dragenter、dragover以及drop。奇怪的是,为了能引发第三个最重要的事件,另外两个事件必须中止。
  本文由乐华网络编辑,转载请注明出处
  宁波网站制作www.leseo.net
上一篇:
对于色彩必定要让你线上和线下运用的图画标识坚持共同#LOGO、色彩调配以及别的市扬活动所运用的公司文
下一篇:
每天,互联网上都有不计其数的网站为了出售数以万计的商品,进行剧烈的竞赛,抢夺每一个访客。他们大多数都
关于乐华
乐华介绍
乐华思维
人才招聘
使用条款
隐私保护
RSS订阅
网站地图
新闻动态
乐华观点
行业动态
频道介绍
服务介绍
案例展示
品牌研究
品牌理论
品牌体系
联系我们
400-680-2900
社会媒体
微信公众平台
微信公众平台