修改拖放后可拖动的行为

时间:2013-09-30 00:19:06

标签: javascript jquery jquery-ui

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

1 个答案:

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

In motion