元素在被删除之前可以在两个方向(x和y)上拖动。 在跌落后,它们应该只能在一个方向(y轴)上拖动。 我尝试在两个方向上删除具有可拖动性的类,然后在一个方向上添加一个具有可拖动性的新类。但是这不起作用:在放置之后和添加新类之后,仍然可以在两个方向上拖动元素。非常感谢您的帮助。
答案 0 :(得分:0)
从droppable容器中捕获drop
事件。消灭摧毁以杀死可拖拽者。
$("#bar").draggable("destroy");
重新绑定它,表明轴应该只是Y
$('#bar').draggable({axis: 'y'});
全部放在一起:
$("#droppable").droppable({
drop: function (e, ui) {
var draggable = ui.draggable;
if ($(draggable).data('dropped')) {
//this happened during only the "Y" axis constraint
//do whatever
} else {
$(draggable).draggable('destroy');
$(draggable).data('dropped', true)
$(draggable).draggable({
axis: 'y'
});
}
}
});
$("#draggable").draggable();