【发布时间】:2014-01-31 04:05:09
【问题描述】:
如果在触发onmousedown的元素之外释放鼠标按钮,则不会触发Javascript onmouseup event。
这会导致 JQuery UI 中的拖放错误:当鼠标按钮在其容器外释放时,JQuery draggable 元素不会停止拖动(因为元素在到达其父边界时将停止移动)。重现步骤:
- 转到http://jqueryui.com/draggable/。
- 向下拖动可拖动对象,直到鼠标离开周围的容器
- 松开鼠标按钮(此时未按下鼠标按钮)
- 将鼠标移回容器中
- 并且可拖动对象仍在被拖动。我希望一旦我释放鼠标按钮,拖动就会停止 - 无论它是在哪里释放的。
我在最新的 Chrome 和 IE 中看到了这种行为。
有什么解决办法吗?
我知道我们可以在 mouseout 或 mouseleave 上停止拖动容器,但我想继续拖动,即使我在父容器之外,就像在 google maps 中一样(不管你在哪里松开鼠标,它总是停止拖动地图)。
【问题讨论】:
-
containment:'parent'??? jsfiddle.net/4wX58 -
PS:我看到当鼠标按钮在文档外释放时,元素仍然可以拖动:(
标签: javascript jquery drag-and-drop onmouseup