jQuery UI可排序:滚动整个页面以及容器
jQuery UI Sortable: Scroll entire page as well as container
我有两个元素列表,并且在它们上都启用了jQuery UI可排序功能。我使用connectWith
选项使我能够在两个列表之间拖动。
一个列表中有很多元素,所以我添加了overflow-y: scroll
到它,但是当我试图从该列表中抓取一个元素并将其拖动到另一个列表时,它只滚动列表,而不是整个页面。
我做了一个jsFiddle演示(http://jsfiddle.net/MCcuc/)。向下滚动,并尝试将Item Q
(通过盒子顶部的灰色条拖动它)从红色列表移动到绿色列表。您将看到红色列表滚动,但页面没有。我如何滚动整个页面以及列表?
我只是启用sortable
没有很多选项:
$('.sort').sortable({
connectWith: '.sort',
handle: '.handle'
});
这确实与可滚动溢出冲突。在这种情况下,可拖动的辅助元素被限制为父元素,可能是因为试图"脱离"父元素只会导致其可滚动区域的扩大。
一个解决方法是传递一个helper
函数,该函数克隆被拖动的元素并将其重新放置在页面主体下。这样,可拖动的辅助元素将从一开始就位于其原始父元素的外部,因此将滚动整个页面:
$(".sort").sortable({
connectWith: ".sort",
handle: ".handle",
helper: function(event, element) {
return element.clone().appendTo("body");
}
});
您可以在这里找到一个更新的小提琴来演示这个
相关文章:
- jQuery UI可排序-多连接列表拖动
- ui网格:在自定义表头模板中触发排序
- 我在页面中使用的jQuery UI可排序项目;不起作用
- 在jQuery UI中获取ul和li值,拖放即可排序
- Jquery UI可排序检测轴向上和向下
- Jquery UI可排序,自动移动项目
- KnockoutJS/jQuery UI可排序冲突
- UI可排序与角度过滤器进行ng重复
- jQuery UI-拖放排序和还原
- JQuery UI在移动设备上可排序禁用滚动
- jQuery UI排序无法使用动态表
- 在可排序的JQuery UI列表中至少保留一个项目
- jQuery UI排序&可拖动的助手
- 获取jQuery UI排序后的ID数组
- jQuery UI排序无法使用引导模式框
- JQuery UI排序不适用于更复杂的列表项内容
- Jquery UI排序与angularjs,如何防止水平拖放?轴:y不工作
- 乱码文字游戏使用jQuery ui-排序
- JQuery UI排序中断元素Href链接
- JQ UI排序表:停止排序表内的一些元素排序