jQuery UI放在空容器/列表上不起作用

doz*_*zed 5 jquery jquery-ui jquery-ui-sortable

我有一个jQuery UI可排序小部件的问题.我根本无法将任何物品放在空容器上.当容器有一个项目时,它完美地工作.我像这样调用小部件:

$(".apc_row--columns", this.$el).sortable({
    placeholder: 'apc_drop-placeholder-blocked',
    forcePlaceholderSize: true,
    items: '.apc_inner_item',
    connectWith: ".apc_column--content",
    tolerance: "pointer",
    handle: '.move_handle',
    helper: "clone",
    dropOnEmpty: true,
    distance: 0.5,
    stop: function(event, ui){
        that.droppedItem(ui.item, ui.item.index());
    }
});
Run Code Online (Sandbox Code Playgroud)

搜索发现连接列表/容器需要填充/最小高度,因此jQuery可以正确计算位置.

但连接的div".apc_column - content"具有最小高度和填充.我还测试了在容器上放置"display:none"的项目,但这没有帮助.

我只是无法让它工作(测试所有浏览器),真的很感激任何帮助!

谢谢.

编辑:为问题做了一个jsfiddle:http://jsfiddle.net/Sf5QW/1/

如果将所有项目从左侧列表移动到右侧(或其他方式),则无法将任何项目移动到空列表中.

Roo*_*ter 7

工作时尚

基本上,您在错误的元素上设置sortable.我将其更改为.apc_column - content元素,现在它可以正常工作.由于两个列表都有该类,因此我也必须将connectWith属性更改为该类.

干杯.

$(".apc_column--content").sortable({
            placeholder: 'apc_drop-placeholder-blocked',
            forcePlaceholderSize: true,
            items: '.apc_inner_item',
            connectWith: ".apc_column--content",
            tolerance: "pointer",
            dropOnEmpty: true,
            distance: 0.5,
            stop: function(event, ui){
                // that.droppedItem(ui.item, ui.item.index());
            }
});
Run Code Online (Sandbox Code Playgroud)


Ada*_*s.H 6

你可以<li></li>在空ul中添加一个空的不可见来解决这个问题.^ _ ^