如何在可排序的容器中禁用垂直拖动?

时间:2016-03-11 01:31:42

标签: javascript jquery-ui jquery-ui-sortable hammer.js

我想在可排序容器中显示2列。一个显示所有用户的列表('朋友'列),另一个显示为空('选择'列)。我希望能够将用户从“朋友”中拖出来。选中'的列柱。这就像现在一样有效。

问题在于,当滚动(特别是在移动设备上)时,您可以在“朋友”中轻弹用户'列无序。由于它开始按字母顺序排列,因此当用户正在寻找他的朋友进行选择时,这会破坏顺序。我想禁用垂直拖动,以便您只能从朋友那里拖动'选择'反之亦然。任何列内的任何垂直拖动都将被忽略。有没有办法在不使用hammer.js的情况下执行此操作,并且hammer.js是否可以轻松应用于jquery可排序容器?

2 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/Jaffreena/rmSgx/45/

<div class="demo">
<ul id="sortable">
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
        <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>

</ul>

<script> $("#sortable").sortable({ axis: "x" }); </script>

答案 1 :(得分:0)

将sort选项设置为false可禁用列表中的排序

var sortable = new Sortable(el, {
    sort: true
});

请参阅“选项”部分:https://github.com/SortableJS/Sortable