今天看到一道面试题:实现一个对页面中某个节点的拖拽
虽然以前写过这样的代码,但是今天再次思考的时候,发现任然值得去重新code一遍;
要点:
- mousedown,mouseover,mouseup
- 在mousedown之后,事件开始触发;
- 执行mouseover时,需要通过event.clientX和event.clientY来获取获取拖拽位置的坐标(需要考虑边界情况)
- mouseup是,拖拽结束;
html元素:
<div class="move"></div>
css样式:
.move{
background-color: #fffff0;
width: 100px;
height: 80px;
left:50px ;
top: 50px;
position: absolute;
}
.move:hover{
cursor: pointer;
}
js函数 :
window.onload=function () {
//我的目标元素
var move=document.getElementsByClas