【发布时间】:2015-09-26 09:30:15
【问题描述】:
我正在使用 jQuery UI 的可拖动功能,并使用一组 grid 选项。我的网格设置为使用[x: 130, y: 110] 约束,并且网格的容器有一定的高度,超出了它自己的父级,允许我滚动。当我有一个可拖动元素时,我开始拖动它,并在容器中向下滚动一点(同时仍然挂在可拖动元素上),该元素不再粘在网格上。
我做了一个显示错误的准系统示例:You can see the error in action in the JSFiddle here - 尝试开始拖动,并在容器中滚动。如果这还不够解释;查看错误here 的 GIF(它应该位于网格的左上角)。
我尝试将网格更改为[x: 100, y: 100],这使它可以在 Chrome 和 Opera 中运行,因为它们在每次滚动时滚动正好 100 像素,但不是 Firefox 和 IE,因为它们使用软滚动。我也尝试过“破解”它,并在通过 jQuery UI 的droppable 完成拖动时将元素移动到最近网格的中心,但这似乎不是一个可用的解决方案。
有没有办法确保即使在拖动时向下滚动,可拖动元素也会继续粘在网格上?
【问题讨论】:
-
您找到解决方案了吗?
-
不幸的是,没有。我没有:(我最终没有使用可见的网格并将我需要元素的区域的高度限制为不允许滚动的高度。
-
是的 - 目前,我在拖动时禁用了滚动。用户必须“放下” div,滚动并再次拖动..!哦,好吧..
标签: jquery jquery-ui scroll draggable