js:拖拽事件

拖拽事件

  • ondragstart
    当拖拽元素被开始拖拽时,event:拖拽元素。
    [从操作系统向浏览器拖拽文件不会触发]
    [对应ondragend]
  • ondragover
    当拖拽元素在目标元素上移动时,event:目标元素
    [注意:应该在此事件阻止默认事件,event.preventDefault(),否则不会触发ondrop()]
  • ondragenter
    当拖拽元素进入目标元素时,event:目标元素
    [对应ondragleave]
  • ondragleave
    当拖拽元素离开目标元素时,event:目标元素
    [对应ondragenter]
  • ondrop
    当拖拽元素在目标元素上松开时,event:目标元素
  • ondragend
    当拖拽元素松开时,event:拖拽元素
    [对应ondragstart]
    [从操作系统向浏览器拖拽文件不会触发]
注意

1.ondrop优先触发于ondragend
2.先定义一个可拖拽物体 draggable='true'


drag event属性/方法

  • dataTransfer对象
    保存被拖动的数据,可以保存一项或多项数据,一种或者多种数据类型
属性 介绍
dropEffect dragenter|dragover中设置,防止操作 ’move'/'none'/
effectAllowed dragstart设置,在dragenter|dragover中监听,移动操作 'move'/'none'/'link'/'copy'/copyMove'/'copyLink'/'linkMove'/'all'
files 拖动操作的所有本地文件列表
types 返回被保存数据的字符串型数组,顺序与被添加数据的顺序一致,若无,返回空列表 [event.dataTransfer.types].includes('text/html')
方法 介绍
setData(format/type,dataValue) 将dataValue数据保存起来,为后面取数据能做操作(检测类型,拖放到目标元素等) format: text/plain(文本类型);text/html(html类型);text/url-list(URL类型)
getData(format/type) 获取前面setData中的type
clearData(format/type) 清除data
setDragImage(image,xOffset,yOffset) 设置拖拽反馈图像 image:可以是canvas/image Element, 其他两个表示图像出现的鼠标位移
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 之前写过一篇浏览器事件的相关操作和事件运行的原理——JavaScript浏览器事件解析。这一篇主要写一些常用的事件...
    faremax阅读 1,658评论 0 0
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,639评论 2 10
  • HTML5介绍 H5并不是新语言,而是HTML的第五次重大修改(版本),移动端支持优于PC端 所有主流浏览器都支持...
    印象rcj阅读 580评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,149评论 6 13
  • 不知不觉已至立秋。 早上起来的时候看到IT之家推送了一条新闻:“云天收夏色,木叶动秋声”,方知今日已至立秋。南方的...
    韩小坏阅读 401评论 0 0