更新时间:2018-09-18 来源:黑马程序员技术社区 浏览量:
拖拽即通过鼠标按下,将要拖拽的目标放置到某一个位置。
一般拖拽编写的步骤:
1.将要拖放的元素设置为可拖放的,即,将draggable设置为true.
2.重写放置目标元素的默认行为
3.编写事件
拖放事件
dragstart 鼠标按住拖放目标时
drag 开始移动时
dragend 拖放结束(鼠标抬起)
放置事件
dragenter 进入放置目标
dragover 在放置目标内移动
drop 放置(即鼠标抬起)
***:事件触发顺序 dragstart - -> drag - -> dragenter -->dragover -->drop -->dragend
数据传输对象
dataTransfer对象 它是拖动事件对象的一个属性,用于从被拖动元素向放置目标传递字符串格式的数据。
属性dropEffect
"none":不能把拖动的元素放到这里。默认值
"move":应该把拖放的元素移动到放置目标
"copy":应该把拖动的元素复制到放置目标
"link":表示放置目标会打开拖动的元素
effectAllowed
只能在dragStart事件中设置,该属性可以设置鼠标的样式
取值
"uninitialized":没有给被拖动的元素设置任何放置行为。
"none":被拖动的元素不能有任何行为。
"copy":只允许值为"copy"的 dropEffect。
"link":只允许值为"link"的 dropEffect。
"move":只允许值为"move"的 dropEffect。
"copyLink":允许值为"copy"和"link"的 dropEffect。
"copyMove":允许值为"copy"和"move"的 dropEffect。
"linkMove":允许值为"link"和"move"的 dropEffect。 "all":允许任意 dropEffect。
方法getData(type)
取出setData()保存的值
参数:一个字符串保存的数据类型。取值为‘text’、‘URL’、‘text/plain’、‘text/uri-list’
setData(type,value)
参数:type 存储的数据类型,value为要保存到值
完整示例样式与html




本文版权归黑马程序员JavaEE学院所有,欢迎转载,转载请注明作者出处。谢谢!
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27