html5 拖放

H5中拖拽属性

draggable: auto| true| false

拖动事件

 dragstart  在元素开始被拖动时触发
 dragend    在拖动操作完成时触发
 drag  在元素被拖动时触发

释放区事件

  dragenter 被拖动元素进入到释放区所占据得屏幕空间时触发
  dragover   当被拖动元素在释放区内移动时触发
  dragleave  当被拖动元素没有放下就离开释放区时触发
  drop   当被拖动元素在释放区里放下时触发

数据通信

  存数据    e.dataTransfer.setData('Text', data);
  text/html:文本文字格式
  text/plain:HTML代码格式
  text/xml:XML字符格式
  text/url-list:URL格式列表
  
  拿数据    e.dataTransfer.getData('Text');
  清除数据  e.dataTransfer.clearData();

dataTransfer

分为三模式:
  • Read/write mode
    读/写模式,在dragstart事件中使用,可以添加新数据到drag data store中。
  • Read-only mode
  只读模式,在drop事件中使用,可以读取被拖拽数据,不可添加新数据.
  • Protected mode
   保护模式,在所有其他的事件中使用,数据的列表可以被枚举,但是数据本身不可用且不能添加新数据.

dropEffect属性只有搭配effectAllowed属性才有用。effectAllowed属性表示允许拖放元素的哪种dropEffect,effectAllowed属性可能的值如下。

  • uninitialized:没有该被拖动元素放置行为。
  • none:被拖动的元素不能有任何行为。
  • copy:只允许值为“copy”的dropEffect。
  • link:只允许值为“link”的dropEffect。
  • move:只允许值为“move”的dropEffect。
  • copyLink:允许值为“copy”和“link”的dropEffect。
  • copyMove:允许值为“copy”和”link”的dropEffect。
  • linkMove:允许职位“link”和”move”的dropEffect。
  • all:允许任意dropEffect。

必须在ondraggstart事件处理程序中设置effectAllowed属性。

下次用react封装一个简单的拖放组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值