Jquery可以在启用溢出的容器内对链表进行排序

时间:2012-08-27 15:03:21

标签: javascript jquery html css jquery-ui-sortable

好吧,所以我对Jquery可排序插件有一个奇怪的问题。我想在overflow-y:auto div中创建一系列列表。当列表小于容器时,这很有用。但是,只要列表增长并且容器的溢出正在运行,那么sortables就不再真正起作用了。当用户拖动列表时,它们不会向下滚动。

有谁知道如何将滚动或拖动事件附加到容器?我已经尝试在容器上设置sortable并使子句处理,但这不会触发我需要的“接收”事件。此外,滚动事件仍然无法正常工作。

以下是我的插件初始化方式:

$('.sort-list').sortable({
        'connectWith': '.item-container',
        'items': ".item-wrapper:not(.main-item)",
        'containment': '.canvas',
        'placeholder' : "ui-state-highlight",
        'scroll' : true,
        'opacity' : 0.8,
        start: function (event, div) { 
            // set the placeholder size to the proper size
            $('.ui-state-highlight').css({
                'width':$(div.helper).outerWidth()-2,
                'height':$(div.helper).outerHeight()-2
            });             
        },
        receive: function(event, ui) {
            var interval = $(event.target).parent('.time-container').attr('interval');
            var oldInterval  = $(ui.sender).parent('.time-container').attr('interval');
            var item = $(ui.item).find('.item').data('objectData');
            self.updateInterval(oldInterval, interval, item);         
        }
    });

有没有人对让这种行为发挥作用有任何见解?我真的很难过......谢谢。

1 个答案:

答案 0 :(得分:0)

所以,我正在为所有正在寻找解决方案的人们回答这个问题。不幸的是,目前的Jquery UI无法进行排序。我最终创建了一个不依赖于可排序滚动列表的不同行为。它基本上涉及对右侧每个列表的引用,并将列表中的项目拖动到它以更改它们所在的列表。希望可以帮助某人。 :/

希望这会很快添加......