实现简单的鼠标拖拽事件
2018-04-03 17:03
387 查看
实现简单的鼠标拖拽事件
实现原理:在获取鼠标点击后,实现鼠标的移动事件,和鼠标按键松开事件。首先获取当前
div的左边和上边距离鼠标位置的距离,分别即为
disX,
disY。然后在鼠标后,实现鼠标移动的事件中,赋值给
div的
style.left和
style.top的值为当前鼠标的位置减去
disX和
disY后的值。
<style type="text/css"> *{ margin: 0; padding: 0; } .box{ position: absolute; width: 200px; height: 200px; background-color: red; } </style> <div class="box" id="box"></div> <script type="text/javascript"> var box = document.getElementById('box'); document.onmousedown = function(ev){ var oEvent = ev || window.event; disX = oEvent.clientX - box.offsetLeft; disY = oEvent.clientY - box.offsetTop; document.onmousemove = function(ev){ var oEvent = ev || window.event; var l = oEvent.clientX - disX; var h = oEvent.clientY - disY; if(l < 0){ l = 0; }else if(l > document.documentElement.clientWidth - box.offsetWidth){ l = document.documentElement.clientWidth - box.offsetWidth; } if (h < 0) { h = 0; }else if(h > document.documentElement.clientHeight - box.offsetHeight){ h = document.documentElement.clientHeight - box.offsetHeight; } box.style.left = l + 'px'; box.style.top = h + 'px'; } document.onmouseup =function(ev){ var oEvent = ev || window.event; document.onmousemove = null; document.onmouseup = null; } return false;//禁止某些浏览器在div内容为空时,可能会出现的默认事件 } </script>
相关文章推荐
- javascript简单拖拽实现代码(鼠标事件 mousedown mousemove mouseup)
- javascript简单拖拽实现代码(鼠标事件 mousedown mousemove mouseup)
- Silverlight学习笔记(七)-----Silverlight事件处理之鼠标事件实现简单拖拽
- 完美实现鼠标拖拽事件,解决各种小bug,基于jquery
- 使用mouse事件实现简单的鼠标经过特效
- 实现简单的元素拖拽事件
- 完美实现鼠标拖拽事件,解决各种小bug,基于jquery
- 用鼠标事件实现拖拽
- Dhtml:用ondrag事件简单的实现鼠标拖动物件.
- Qml实现对鼠标和键盘事件的简单处理
- JS中简单的删除增加鼠标事件的实现
- 使用mouse事件实现简单的鼠标经过特效
- jQuery实现的简单鼠标拖拽功能
- Wince中为元件注册鼠标事件以实现Canvas中的拖拽效果
- 使用javaScript实现鼠标拖拽事件
- 用ondrag事件简单的实现鼠标拖动物件
- PyQt5学习记录(7)---监听鼠标拖拽事件实现Mac上百度云盘拖拽效果
- jQuery里鼠标事件的一些简单实现
- 实现了鼠标按下拖拽事件就无法收到LButtonUp的一个解决方法
- 鼠标拖拽事件实现