html5实现拖放以及mouse事件实现简单拖拽

本文介绍了如何使用HTML5的拖放API以及JavaScript实现拖拽功能。通过设置元素的draggable属性,结合dragstart、dragenter、dragover、drop等事件,实现了基本的拖放操作。同时,通过mousedown、mousemove、mouseup事件监听,创建了一个简单的拖拽效果。在拖拽过程中,注意到mouseup事件在被拖拽物体内部不会触发的问题,并给出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    春困夏乏秋打盹,最近懒癌要犯了,为了督促自己学习,小生制定了一个计划——每天收集/记录/学习一个小技巧~~~

    今天的小技巧如题,html5实现拖放以及利用mouse事件实现简单拖拽,本文将依次介绍,若有不妥之处,还望这位看官留言指正~~~

实例参考博客:

http://blog.youkuaiyun.com/baidu_31333625/article/details/53811510

//===============================================================

一、html5实现拖拽

html5实现拖拽的过程十分类似于煎鸡蛋 ╮(╯▽╰)╭

鸡蛋 = 被拖拽物体,平底锅 = 拖拽放入的目标元素

(1)确定这颗鸡蛋有没有坏掉,放好平底锅——确定元素是否可拖动,即 被拖拽物体 的draggable=true?,添加 目标元素

<div id="targetObj"></div>
<i id= "ball" class= "ball" draggable= "true" ></i>

(2)打碎鸡蛋做好准备——给 被拖拽物体 添加 dragstart 事件监听,在拖拽开始后触发,只触发一次

document.getElementById('ball').addEventListener('dragstart',function(event){
   //开始拖拽
   //dataTransfer对象只用于拖拽事件中,用来存储拖拽数据,text/url类型,本次存储内容为标签id
   event.dataTransfer.setData('Text',event.target.id);
   console.log('针对被拖拽物体,开始拖拽: '); //用于查看拖拽的整个过程中事件发生顺序
});

(3)把鸡蛋平移到平底锅上方——给 目标元素 添加 dragenter事件监听,在 被拖拽元素 移动进 目标元素 时触发,每次进入都会触发,一次进入过程触发一次 

document.getElementById("targetObj").addEventListener("dragenter", function(event) {
   // 阻止浏览器默认事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值