React 实现拖拽功能
发布时间:2020-12-14 23:57:37 所属栏目:资源 来源:网络整理
导读:实现效果:(可戳 查看) 因为工作中会用到 JIRA 所以想实现一下相似的功能,顺便学习一下 H5 的拖拽。不支持拖拽改变顺序,感觉有点麻烦,而且没必要。感觉相关的博文好少的,大部分都是直接上代码,没有解释。 图片默认可以拖动,其他元素的拖动效果同图片
实现效果:(可戳 查看) 因为工作中会用到 JIRA 所以想实现一下相似的功能,顺便学习一下 H5 的拖拽。不支持拖拽改变顺序,感觉有点麻烦,而且没必要。感觉相关的博文好少的,大部分都是直接上代码,没有解释。 图片默认可以拖动,其他元素的拖动效果同图片。正常的 div 是不能被拖动的,鼠标点击选择后移动没有效果,需要加???使得元素可以被拖动。 拖拽相关的几个事件,有被拖动元素的事件,也有拖动进入的容器元素的事件。 被拖拽元素的事件:ondragstart,ondragend? 放置元素的事件:ondragenter、ondragover、ondragleave、ondrop? 顾名思义,不需要解释。 需要注意是???的默认事件? 所以想让一个元素可放置,需要重写?ondragover? element.ondragover = event =>
}
当一个元素是可放置的,拖拽经过时鼠标会变成加号(cursor: copy;) 有一个对象???可以用来存储拖拽数据。 dragEle.ondragstart = e => e.dataTransfer.setData('item',e.target.id);
拖拽开始时触发,把被拖拽元素的 id 存入??? 然后在?ondrop 的时候 可以获取到这个值 (ondragenter、ondragover、ondragleave 获取不到...) putEle.ondrop = = e.dataTransfer.getData('item'
}
简单的应用:
Document
item1
item2
item3
|