为了账号安全,请及时绑定邮箱和手机立即绑定

js如何区分鼠标的点击和长按拖拽?

js如何区分鼠标的点击和长按拖拽?

慕田峪7331174 2019-03-21 15:19:34
需求是,当点击时,展示编辑逻辑,当鼠标长按拖拽时,展示拖拽逻辑。如何对两者进行区分?
查看完整描述

5 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

onmousedown 和 onmouseup事件,他们分别有触发时的时间,你比较一下这个时间,另外还有鼠标的x y,如果只是点击,x y 在mouseup 和down里面应该是一样的,但是拖拽的话时间间隔不仅比较久而且x,y是有数值差异的,因为位移了


查看完整回答
反对 回复 2019-04-08
?
GCT1015

TA贡献1827条经验 获得超4个赞

点击就是click事件,拖拽就是dragstart/dragend/mousemove事件。不会混淆


查看完整回答
反对 回复 2019-04-08
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

我的理解是

单击是鼠标按下,抬起(click相当于mousedown+mouseup)
拖拽是鼠标按下,移动,抬起(mousedown+mousemove+mouseup)


查看完整回答
反对 回复 2019-04-08
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

不要使用click,全部在mouseup中判断。如果位移,就执行拖拽相关事件。如果没有位移,那就执行点击的相关事件


查看完整回答
反对 回复 2019-04-08
?
青春有我

TA贡献1784条经验 获得超8个赞

在mousedown和mouseup的函数中获取分别获取event.timeStamp,对比时间戳,判断超过多久为长按,小于多久为点击


查看完整回答
反对 回复 2019-04-08
  • 5 回答
  • 0 关注
  • 1956 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号