7

我有一些可排序的连接列表,它们同时是可放置的地方。问题是当我在 droppable 的 drop 事件中调用 sortable 的 cancel 方法时,sortable 坏了,不能再工作了。示例http://jsfiddle.net/zSnBA/10/尝试将 div 编号 102 移动到第二个列表中:您会看到取消事件将被调用,但 sortable 将不再起作用?有什么帮助吗?

4

1 回答 1

6

我建议不要使可排序列表也可拖动,而是在可排序时收听receive事件以取消事件:

$('div.products-list').sortable({
    connectWith: '.products-list',
    placeholder: 'ui-state-highlight',
    items: 'div.product',
    revert: 200,
    receive: function(event, ui) {
        var prod_id = ui.item.attr("prod_id");

        /* Equal to 1 is valid because an item was just added to the list: */
        if ($(this).find(".product[prod_id='" + prod_id + "']").length > 1) {
            ui.sender.sortable("cancel");
        }
    }
});

示例:http: //jsfiddle.net/z5X5y/

于 2011-12-28T18:46:42.573 回答