使用可排序的portlet拖动项目时,如何防止水平滚动? 当前拖动项目时,您可以向右滚动,没有任何限制,如演示中所示:http://jqueryui.com/demos/sortable/#portlets
编辑:我刚注意到当你垂直拖动元素时会发生同样的事情,它会永远持续下去。有什么方法可以为滚动添加某种边界吗?感谢。
答案 0 :(得分:2)
使用
轴:“y”
//Example
$(function() {
$(setSelector).sortable({
axis: "y",
cursor: "move",
opacity: 0.5,
});
});
答案 1 :(得分:0)
我从来没有使用过sortable,但是我已经编写了代码来限制滚动到某个区域,所以也许你可以看看这段代码并找出要做的事情。
scroll_position = $(window).scrollTop();
$(window).scroll(function () {
if($(window).scrollTop() < scroll_position) {
// code to cancel sort
}
});
对于水平滚动,请查看http://api.jquery.com/scrollLeft/
答案 2 :(得分:0)
您可以使用containment
(Link to the API)。你可以这样写:
$(selector).sortable({
containment: 'body'
})
这会将你的portlet锁定在body元素中。您还可以使用选择器或其他特殊单词来选择锁定portlet的内容。只需确保收容元素在显示时具有高度。