JQuery-ui перетаскиваемая прокрутка только по вертикали

таким образом, у меня есть фиксированный droppable div в правом нижнем углу экрана. У меня есть список перетаскиваемых объектов, которые можно перетащить в корзину (фиксированный droppable), но я не хочу, чтобы горизонтальная полоса прокрутки появлялась при перетаскивании их рядом с мусором. Я не хочу, чтобы перетаскиваемые могли прокручиваться по горизонтали. Есть другие droppables дальше на странице, что они могут быть сброшены в так что они должны прокручиваться по вертикали, чтобы добраться до них.

здесь jsfiddle of проблема.

спасибо

2 ответов


можно использовать (doc) на перетаскиваемые элементы. Таким образом, вы можете ограничить их движение в элемент тела:

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

демо


чтобы разрешить только вертикальное перетаскивание, вы должны установить свойство "axis" перетаскиваемого таким образом:

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

и если у вас уже есть инициализированный перетаскиваемый объект, вы должны установить его следующим образом:

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