0

元素在被放置之前可以在两个方向(x 和 y)上拖动。放下后,它们应该只能在一个方向(y 轴)上拖动。我尝试删除具有双向可拖动性的类,然后添加一个具有单向可拖动性的新类。但是这不起作用:在放置之后和添加新类之后,仍然可以在两个方向上拖动元素。非常感谢您的帮助。

4

1 回答 1

0

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();

运动中

于 2013-09-30T00:44:36.100 回答