【问题标题】:Jquery-ui draggable scroll vertical onlyjQuery-ui 可拖动滚动仅垂直
【发布时间】:2012-02-28 23:59:04
【问题描述】:

所以我在屏幕右下角有一个固定的可放置 div。我有一个可以拖入垃圾箱(固定可放置)的可拖动列表,但我不希望在将它们拖到垃圾箱附近时出现水平滚动条。我不希望可拖动对象能够水平滚动。页面下方还有其他可拖放的可拖放对象,因此它们必须垂直滚动才能找到。

这是问题的jsfiddle

谢谢

【问题讨论】:

    标签: jquery css jquery-ui jquery-ui-draggable jquery-ui-droppable


    【解决方案1】:

    为了只允许垂直拖动,您必须这样设置可拖动的“轴”属性:

    $( "selector" ).draggable({ 
        axis: "y"
    });
    

    如果你已经有一个初始化的可拖动对象,你必须这样设置:

    $( "selector" ).draggable( "option", "axis", "y" );
    

    【讨论】:

    • 这不是我的意思。我只希望它垂直“滚动”并且可以水平移动。这个问题已经回答了,不过还是谢谢你的回答。
    • 这正是我要找的东西
    • 我也一直在找这个。谢谢
    【解决方案2】:

    您可以在可拖动元素上使用containment 选项 (doc)。这样您就可以将它们的运动限制在 BODY 元素中:

    $('.draggable').draggable({
        ...
        containment: 'body',
        ...
    });
    

    DEMO

    【讨论】:

    • 但是我不能把它拖到droppables中。
    • 当然可以(或者我不明白问题所在)。主体仍会滚动其视口,但如果光标移到底部或右侧太远,则不会延伸。
    • 现在的问题是身体没有一直到底部。
    • 看起来@Didier Ghys 解决方案工作正常,刚刚在你的小提琴中测试过。
    • @xCRKx TyPHoN 我确实对其进行了测试,但它阻止我将可拖动对象拉到可放置对象中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    相关资源
    最近更新 更多