js 鼠标拖拽事件处理问题

做一个水平拖拽功能,思路是 mousedown 时开始拖拽,mouseup 时结束拖拽.
但是遇到一种情况,如果鼠标在stopPropagation=true的元素上松开,就不会触发拖拽结束了.鼠标移动仍然会带着被拖拽元素移动.
请问这种情况怎么解决呢

阅读 3.9k
3 个回答

mousedown绑定到需要拖拽的元素上,mousemove和mouseup绑定到document上

在鼠标抬起时清空相应的事件

document.onmousemove = null;
document.onmouseup = null;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题