阅读量:3
可以通过onmousemove事件来实现拖拽功能,具体步骤如下:
- 给需要被拖拽的元素绑定onmousedown事件,当鼠标按下时触发一个函数;
- 在这个函数中,获取鼠标按下时的位置,同时给document绑定onmousemove和onmouseup事件;
- 在onmousemove事件中,计算鼠标移动的距离,并将被拖拽的元素相应地移动;
- 在onmouseup事件中,解绑document的onmousemove和onmouseup事件,结束拖拽操作。
示例代码如下:
<!DOCTYPE html> <html> <head> <style> #drag { width: 100px; height: 100px; background-color: red; position: absolute; } </style> </head> <body> <div id="drag" onmousedown="drag(event)"></div> <script> function drag(event) { var dragElement = document.getElementById("drag"); var startX = event.clientX - dragElement.offsetLeft; var startY = event.clientY - dragElement.offsetTop; document.onmousemove = function(event) { var newX = event.clientX - startX; var newY = event.clientY - startY; dragElement.style.left = newX + "px"; dragElement.style.top = newY + "px"; }; document.onmouseup = function() { document.onmousemove = null; document.onmouseup = null; }; } </script> </body> </html>