0

我想从接收事件的 jQuery-UI 可排序列表中删除一个项目。我正在尝试这样的事情:

receive: function(event, ui){
    num_of_items = num_of_items+1;                          


    if(num_of_items >= 3)
    {
        ui.item.remove();
        num_of_items = num_of_items -1;
    }
}

这会导致错误:

未捕获的类型错误:无法读取未定义的属性“选项”

item.remove() 似乎在任何其他事件上都可以正常工作,例如 beforeStop、stop 等。

4

1 回答 1

1

在接收回调中删除项目不是一个好主意,因为它可以用于其他回调。但是你可以让它不再可排序。这是我的建议:

  • 使用参数项初始化您的可排序
  • 在您的接收回调中,删除您用于参数项的类,使其不再可排序
  • 此时对可排序元素调用刷新应该是一个好主意(也许没有必要)。向该元素添加一个类,以便使用选择器轻松找到它并将其隐藏(也使用 jQuery)
  • 然后删除一个项目可以很容易安全地推迟,并在你的 stop 或 beforeStop 回调中被调用到清理中

希望它会适合你!

于 2012-12-08T23:25:30.850 回答