怎么区分鼠标是单击还是拖动()

js的鼠标事件 怎么区分鼠标是单击还是拖动()
文章图片
image.png 拖拽常用事件 【怎么区分鼠标是单击还是拖动()】onmousedown 鼠标按下触发事件
onmousemove 鼠标按下时持续触发事件
onmouseup 鼠标抬起触发事件
click点击事件=mouseup+mousedown
drag拖拽=mousedown+mousemove+mouseup
当鼠标在div上【移动】或者【按下左键拖动】的时候,都会触发onmousemove事件;


问题:怎样区分鼠标是单击弹起还是拖动后弹起呢?
处理一:基于时间;
onmousedown中记录鼠标按下的位置,在onmouseup中记录鼠标弹起的位置,然后比较这2个位置的差距。
如果距离差距不大,则是鼠标【单击】后弹起;
如果距离相差较大,则是鼠标【拖动】后弹起。

    推荐阅读