【问题标题】:jQuery UI Draggable - connectToSortable without helper clone - or how to move items from one list to anotherjQuery UI Draggable - connectToSortable 没有帮助克隆 - 或如何将项目从一个列表移动到另一个
【发布时间】:2012-09-23 04:53:55
【问题描述】:

看看this example

docs 说:

helper 必须设置为“克隆”才能完美运行

确实,如果我删除helper: 'clone',拖动时会发生奇怪的事情。

问题是我对“克隆”行为不感兴趣。我希望将项目从一个列表移动到另一个列表。

注意:原始(左)列表不应该是可排序的。

有什么想法吗?

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-sortable jquery-ui-draggable


    【解决方案1】:

    我一直在努力解决同样的问题。如果我确实将助手设置为“原始”,我会得到各种神经兮兮和奇怪的行为。

    不确定它是否符合您的目的,但我编写了一些代码来监听拖动开始/停止事件以及可排序的更新事件。

    在拖动开始时,该项目从列表中隐藏。如果该项目未转移到另一个列表(由布尔值确定),则该项目未隐藏。但是,如果项目被转移,那么原件会被移除。

    $(function() {
    var transferred = false;
    $('#draggable li').draggable({
        connectToSortable: '#sortable',
        helper: 'clone',
        start: function(event, ui)
        {
            $(this).hide();
        },
        stop: function(event, ui)
        {
            if(!transferred)
                $(this).show();
            else
            {
                $(this).remove();
                transferred = false;
            }
        }
    });
    
    $('#sortable').sortable({
        receive: function(event, ui)
        {
            transferred = true;
        }
    });
    

    }); ​

    Modified jsfiddle example. (http://jsfiddle.net/xD2dW/12/)

    显然可以修改代码以满足您的特定需求,但我希望这至少是一个好的开始。

    【讨论】:

      【解决方案2】:

      helper: function(){ //做某事; }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-04
        • 1970-01-01
        • 1970-01-01
        • 2020-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多