jQuery可排序连接列表 - 第一次发出拖动问题

时间:2011-05-06 15:49:38

标签: jquery jquery-ui-sortable

我的可排序列表存在问题。我在ASP.NET和jQuery中设计了一个门户框架,我使用一个可排序列表将小工具从一个占位符移动到另一个占位符(列表)。这两个列表连接在一起:

$(this.PlaceHolderClass).sortable({
    cursor: 'move',
    connectWith: this.PlaceHolderClass,
    handle: '.ControlToolbar',
    revert: true,
    placeholder: 'SortPlaceHolder',
    dropOnEmpty: true
}).disableSelection();

this.PlaceHolderClass 的值为'ControlPlaceHolder',它是占据我的小部件/控件的占位符容器(DIV)(参见下面的HTML)。

我遇到的问题是,当我开始将一个元素从list1拖到list2时,我不能在第一次将它放在list2中。当我释放鼠标按钮时,拖动的项目将在list1中返回。当我再次开始将同一项目拖动到list2时,一切正常。我不知道为什么会发生这种情况以及为什么我第一次无法拖动这些物品。

我使用的HTML代码如下所示:

<table>
    <tr>
        <td style="width:50%;">
            <div id="ControlPlaceHolder$test" class="ControlPlaceHolder">
                    <div id="container$38$control" class="Control">
                        <div id="control$38$external">
                            My content here...
                        </div>
                    </div>
                </div>
            </div>
        </td>
        <td>
            <div id="ControlPlaceHolder$test2" class="ControlPlaceHolder"></div>
        </td>
    </tr>
</table>

建议非常欢迎。

谢谢, 塞亚德

1 个答案:

答案 0 :(得分:0)

如果列表2在您拖入之前为空,则可能需要设置min-height的{​​{1}}。

我最初遇到这个问题,原因是空<ul>没有任何高度,因此无法收到任何物品。

如果不是这种情况,第一次失败的丢弃时控制台中是否有任何错误?