jQuery-ui 可拖动滚动仅垂直
Posted
技术标签:
【中文标题】jQuery-ui 可拖动滚动仅垂直【英文标题】:Jquery-ui draggable scroll vertical only 【发布时间】:2012-02-28 23:59:04 【问题描述】:所以我在屏幕右下角有一个固定的可放置 div。我有一个可以拖入垃圾箱(固定可放置)的可拖动列表,但我不希望在将它们拖到垃圾箱附近时出现水平滚动条。我不希望可拖动对象能够水平滚动。页面下方还有其他可拖放的可拖放对象,因此它们必须垂直滚动才能找到。
这是问题的jsfiddle。
谢谢
【问题讨论】:
【参考方案1】:为了只允许垂直拖动,您必须这样设置可拖动的“轴”属性:
$( "selector" ).draggable(
axis: "y"
);
如果你已经有一个初始化的可拖动对象,你必须这样设置:
$( "selector" ).draggable( "option", "axis", "y" );
【讨论】:
这不是我的意思。我只希望它垂直“滚动”并且可以水平移动。这个问题已经回答了,不过还是谢谢你的回答。 这正是我要找的东西 我也一直在找这个。谢谢【参考方案2】:您可以在可拖动元素上使用containment
选项 (doc)。这样您就可以将它们的运动限制在 BODY 元素中:
$('.draggable').draggable(
...
containment: 'body',
...
);
DEMO
【讨论】:
但是我不能把它拖到droppables中。 当然可以(或者我不明白问题所在)。主体仍会滚动其视口,但如果光标移到底部或右侧太远,则不会延伸。 现在的问题是身体没有一直到底部。 看起来@Didier Ghys 解决方案工作正常,刚刚在你的小提琴中测试过。 @xCRKx TyPHoN 我确实对其进行了测试,但它阻止我将可拖动对象拉到可放置对象中。以上是关于jQuery-ui 可拖动滚动仅垂直的主要内容,如果未能解决你的问题,请参考以下文章